Python3/GTK3의 클립 보드를 최소한으로 구현하려고합니다. Gtk.main()
을 실행해야만 작동합니다. 나는 시험해 보았다 :Gtk.Clipboard의 최소 구현이 작동하지 않습니다.
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()
감사합니다, Narnie