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()
よろしく、 ナルニー