我试图让 Python3/GTK3 的剪贴板工作的最小实现。当且仅当我运行时它才会起作用Gtk.main()
。我什至尝试过:
While Gtk.event_pending():
Gtk.main_iteration()
没有它的工作。
如果我使用它运行脚本,Gtk.main()
它会按预期运行,允许我将文本粘贴到测试 GUI 编辑器中。此脚本将文本字符串t
放入剪贴板。Gtk.main()
当且仅当被调用时,字符串文本才会出现。如果它没有被调用,但是剪贴板缓冲区中的任何内容都将被清除,但为空。我真的很感激这方面的帮助。任何想法如何在不调用的情况下使其工作Gtk.main()
?
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
from gi.repository import Gtk
from gi.repository import Gdk
import signal
class Chars(Gtk.Window):
def __init__(self):
super().__init__()
self.connect('destroy', Gtk.main_quit)
self.show_all()
self.cb = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
t='Some text'
self.cb.set_text(t, -1)
while Gtk.events_pending():
Gtk.main_iteration()
def main():
chars = Chars()
signal.signal(signal.SIGINT, signal.SIG_DFL)
# Gtk.main() # works if this is uncommented
if __name__ == "__main__":
main()
问候,纳尼