自定义pyGTK按钮

时间:2010-06-12 17:48:15

标签: python custom-controls pygtk

我想创建一个按钮,我可以使用pyGTK控制按钮的外观。我该怎么做呢?

我希望能够为按钮所处的每个“状态”指向一个新图像(即按下,鼠标悬停,正常......等等)

2 个答案:

答案 0 :(得分:6)

the API documentation for gtk.Image中所述,“如果您想要接收图像上的事件,例如按钮点击,请将图像放在gtk.EventBox中,然后连接到事件框上的事件信号。”

您可能希望使用gtk.Image而不是gtk.Button,因为按钮需要更多了解主题引擎的工作原理。如果您真的想使用按钮,则需要阅读gtk rc files以及用于操作它们的API。

答案 1 :(得分:1)

这是在按钮上使用图像的简便方法。请注意,初始化按钮时没有给出文本(self.button1 = gtk.Button())。在那里添加文本会显示文本而不是图像。

    self.image1 = gtk.Image()
    self.image1.set_from_file('images/home.png')
    self.image1.show()
    self.button1 = gtk.Button()
    self.button1.add(self.image1)
    self.button1.show()
    self.backupHBox.pack_start(self.button1, True, True)
    self.button1.connect("clicked", self.quit)