如何在 Entity 对象上实现事件改变事件 Python/Quickly

如何在 Entity 对象上实现事件改变事件 Python/Quickly

我开始开发一个测试应用程序来试验按钮点击、窗口标题改变和其他小部件的使用。

在按钮对象上,很容易使事件“单击”起作用,进入窗口类并声明 on_button_clicked(...) 并起作用,不再需要它。

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

但是我尝试使用 Entry 对象做出一些类似于“改变”的事件,但没有成功。有谁知道如何处理此事件以及其它类型的对象(Entry、Comoboxtext、Radiobutton 等)Python/Quickly

我尝试了一些类似的方法,但没有用

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

有人吗?非常感谢你的帮助。

答案1

如果你刚开始使用 PyGtk 和 Quickly,我绝对会推荐这个教程,对我帮助很大。

您是否使用 Glade 作为 GUI 设计器?如果没有,则必须通过以下方式手动连接信号:

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()

有关手动连接此类处理程序的更多信息,请参见这里

相关内容