如何将 GTK3 按钮单击事件连接到回调

Xer*_*erz 0 python application-development gtk3 glade

所以,我正在用 GTK3 开发我的第一个应用程序,但我不知道如何将我的按钮与其各自的定义链接起来。任何人都可以发布教程,示例或一些文档吗?

使用接下来的东西来开发我的应用程序:

  • Ubuntu 12.04 LTS 全面更新
  • 蟒蛇 2.7.3
  • 显然,GTK+ 3
  • 格莱德 3.12.1

我正在开发的应用程序是Virtuam(App Showdown 的候选者!)

Dav*_*lla 7

看看这个例子,了解如何在 Gtk 3 和 Python 中将事件连接到回调。简而言之,您使用该connect()方法将信号名称(在发生按钮单击等事件时发出)连接到回调,这是将处理您的事件的函数。

def __init__(self):
    # Other initialization code

    # We create a button
    self.button = Gtk.Button(label="Click Here")
    # We connect the 'clicked' signal to the callback
    self.button.connect("clicked", self.on_button_clicked)

def on_button_clicked(self, widget):
    # This function will be called whenever the user presses the button
    print "Hello World"
Run Code Online (Sandbox Code Playgroud)

您还可以观看Gtk3 Introduction Workshop 视频,它是Ubuntu App Showdown 的一部分

如果您使用 Glade,则需要确保on_<name-of-your-button>_clicked()回调在代码中定义为窗口的方法。

如果您正在使用Quickly,那么您只需要担心这些。

否则,您需要手动将信号连接到回调。你有两个选择:

  • 在代码中使用self.builder.get_object('name-of-your-button').connect()- 假设builderGtk.Builder()您加载 Glade UI 的名称。
  • 使用 Glade 查看按钮的属性,选择信号选项卡,然后在“点击”信号中写入回调的名称。