我是 Gnome 开发新手。
我正在尝试创建一个按钮,当按下该按钮时,会将其标签的内容复制到剪贴板并关闭应用。
这是我的代码,其中“self”是一个扩展 Gtk.Window 的类。
如果我不关闭该应用程序,它就可以正常工作。
谢谢
def copy_and_quit(self, button: Gtk.Button):
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.set_text(button.get_label(), -1)
self.close()
编辑: 我是 Gtk 开发的菜鸟。我将我的应用程序重新分解为带有 Gtk.Window 的 Gtk.Application,遵循 this。示例。
现在我会了
def copy_and_quit(self, button: Gtk.Button):
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.set_text(button.get_label(), -1)
Gtk.main_quit()
哪个有效。
再见
最佳答案
默认情况下,剪贴板内容存储在应用程序中,只有在您粘贴时才会复制到另一个应用程序。这意味着当程序退出时,剪贴板内容不再可用。
gtk_clipboard_store()将剪贴板内容存储在应用程序之外以避免此问题。 GtkApplication 在关闭时自动调用它,但如果您不使用 GtkApplication,则需要手动调用它。
关于python - 如果我在之后立即关闭应用程序,Gtk 不会将文本保存到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70480878/