PyGtk剪贴板仅在python交互模式下工作
这是我的PyGtk剪贴板仅在python交互模式下工作,python,gtk,Python,Gtk,这是我的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)
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)
请注意:
- 最后我使用time.sleep(1)让Python有时间调用回调函数
f
- 我不能使用线程,因为这些是包
和threads
的问题gtk
- 如果我运行
并复制此文本,它就会工作python
- 如果我运行
它就不起作用(函数python thisscript.py
从未被调用)f
- 如果我运行
它将不工作(函数cat thisscript.py | python
从未被调用)f
怎么会这样?(我如何修复它呢?您没有运行一个油嘴滑舌的主循环:如果您这样做,许多基于GObject的东西可能会被破坏。尝试以下操作,而不是使用睡眠循环:
gtk.mainloop()