微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何获取从 godot 中的 get_clipboard 函数获得的字符串?

如何解决如何获取从 godot 中的 get_clipboard 函数获得的字符串?

因此,当我在 godot 中使用 OS.get_clipboard() 函数时,它将剪贴板值存储为字符串。

现在我想以某种方式在屏幕上显示它,但我不能。

txt1 = OS.get_clipboard 不起作用。

解决方法

关于 OS.get_clipboard 的局限性:

调用 OS.get_clipboard() 会将剪贴板的内容作为字符串(如果是文本)提供给您。例如,如果您复制了一张图片,OS.get_clipboard() 将返回空字符串。

此外,根据平台,OS.get_clipboard() 可能无法正常工作(移动),或者 Godot 可能会保留独立于操作系统的剪贴板(网络,可能取决于浏览器)。


显示剪贴板的内容:

我会从 print 开始,只是为了测试它是否有效:

print(OS.get_clipboard())

另一个选项是OS.alert

OS.alert(OS.get_clipboard())

但是,如果要设置 LabelTextEdit 或类似的文本,则需要设置其 text 属性。

例如:

onready var label = get_node("Label")

func _something():
    label.text = OS.get_clipboard()

另见onready

这也可以:

func _something():
    $Label.text = OS.get_clipboard()

如果您不熟悉引用其他节点,请参阅 Understanding node pathsget_node 上的文档。


顺便说一下,OS.get_clipboard()OS.clipboard 属性的 getter。你可以简单地这样做:

onready var label = get_node("Label")

func _something():
    label.text = OS.clipboard

可能的错误:

如果你这样做:

onready var label = get_node("Label")

func _something():
    label = OS.get_clipboard()

您正在用字符串替换对节点的引用。您也不会看到剪贴板的内容。 没有错误或警告。这不是您想要的。

如果您希望 Godot 帮助您避免此类错误,请注释变量的类型,例如,这告诉 Godot 您使用的是 Label,因此 Godot 会知道它不应该是字符串,并尝试为它设置一个字符串是一个错误(Godot 可以在不执行代码的情况下指出这一点):

onready var label:Label = get_node("Label") # notice type annotation after ":"

func _something():
    label = OS.get_clipboard() # error

或者对于TextEdit

onready var text:TextEdit = get_node("TextEdit") # notice type annotation after ":"

func _something():
    text = OS.get_clipboard() # error

另见Static typing in GDScript如果您属于“不需要类型”的阵营,请参阅Ideology


我还要提醒你,当你想调用一个方法时,你不应该忘记()。如果这样做,则会出现运行时错误:

onready var label:Label = get_node("Label")

func _something():
    label.text = OS.get_clipboard # runtime error

通过运行时错误,我的意思是它在执行时会失败。

避免此错误的一种方法是改用该属性:

onready var label:Label = get_node("Label")

func _something():
    label.text = OS.clipboard

最后,为了覆盖基础,我会说,如果您将剪贴板的内容存储在某个变量中:

func _something():
    var txt1:String
    txt1 = OS.get_clipboard()

好吧,你打算怎么处理那个变量?如果您不使用它,Godot 应该会在编辑器中显示 UNUSED_VARIABLE 警告。

记住要注意 Godot 向您展示的错误和警告。这些类型可以帮助发现错误。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。