自定义pyGTK按钮

2 投票
2 回答
2107 浏览
提问于 2025-04-15 23:53

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

我希望能够为按钮的每种“状态”指定一张新的图片,比如按钮被按下时、鼠标悬停时、正常状态等等。

2 个回答

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

gtk.Image的API文档中提到,“如果你想让图片响应一些事件,比如点击按钮,可以把图片放在一个gtk.EventBox里面,然后连接事件盒子上的事件信号。”

你可能更想用gtk.Image而不是gtk.Button,因为按钮需要你对主题引擎的工作原理有更多了解。如果你真的想用按钮,那你需要去了解一下gtk rc文件以及如何操作这些文件的API。

撰写回答