这是我的Python
脚本,用于查看剪贴板中的数据:
import gtk
import time
clipboard = gtk.clipboard_get()
print clipboard.wait_for_targets()
def f(clipboard,selection,user_data): print selection.data
clipboard.request_contents('STRING', f)
while True:
time.sleep(1)
请注意:
f
。threads
和gtk
的问题。行为是:
如果我运行python
并复制此文本就可以了。
如果我运行python thisscript.py
它不起作用(函数f
永远不会被调用)
如果我运行cat thisscript.py | python
它不起作用(函数f
永远不会被调用)
怎么会发生? (我怎么能解决它?)
答案 0 :(得分:1)
您没有运行GLib主循环:如果您这样做,许多基于GObject的东西可能会被破坏。试试这个而不是睡眠循环:
gtk.mainloop()