web-dev-qa-db-ja.com

エンティティオブジェクトPython / Quicklyにイベント変更イベントを実装する方法

ボタンのクリック、ウィンドウのタイトルの変更、その他のウィジェットの使用を実験するためのテストアプリケーションの開発を開始します。

ボタンオブジェクトでは、イベントを「クリック」して機能させ、ウィンドウクラスで簡単に作成し、on_button_clicked(...)を宣言して機能させることができ、必要ありません。

def on_button1_clicked(self, button):
    print "Clicked Exit"
    Gtk.main_quit()

しかし、Entryオブジェクトは、成功せずに「変更された」イベントに似たものを作成しようとします。 Python/Quiclyで、この他のタイプのオブジェクト(Entry、Comoboxtext、Radiobuttonなど)でイベントを処理する方法について誰かが手がかりを持っていますか?

私はこのようなものを試しましたが、うまくいきませんでした

def on_entry1_changed(self, entry):
    self.ui.prototipo1_window.set_title(self.ui.entry1.get_text())

誰でも?どうもありがとうございました。

1
user72406

PyGtkとQuicklyを使い始めているなら、私は間違いなくこれをお勧めします tutorial 、それは私をとても助けてくれました。

GUIデザイナーにGladeを使用していますか?そうでない場合は、次のようにして手動で信号を接続する必要があります。

from gi.repository import Gtk

class Handlers:
    def on_button1_clicked(self,builder):
        print "Clicked Exit"
        Gtk.main_quit()

    def on_entry1_changed(self,builder):
        entry = self.builder.get_object("entry1")
        self.builder.get_object("TestWindow").set_title(entry.get_text())

builder = Gtk.Builder()
builder.add_from_file("example.ui")
builder.connect_signals(Handlers())
window = builder.get_object("TestWindow")
window.show()
Gtk.main()

このようなハンドラーを手動で接続する方法の詳細については、 ここ を参照してください。

1
unknownone