自定义 pyGTK 按钮

发布于 2024-09-05 22:45:31 字数 91 浏览 4 评论 0原文

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

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

I would like to create a button that I can control the look of the button using pyGTK. How would I go about doing this?

I would like to be able to point to a new image for each 'state' the button is in (i.e. Pressed, mouse over, normal...etc.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

会发光的星星闪亮亮i 2024-09-12 22:45:31

gtk.Image 的 API 文档中所述,“如果您想接收图像上的事件,例如按钮单击,请将图像放入 gtk.EventBox 中,然后连接到事件框上的事件信号。”。

您可能想要使用 gtk.Image 而不是 gtk.Button,因为按钮需要更多关于主题引擎如何工作的知识。如果您确实想使用按钮,则需要阅读 gtk rc 文件 以及用于操作它们的 API。

As described in the API documentation for gtk.Image, "If you want to receive events on the image, such as button clicks, place the image inside a gtk.EventBox, then connect to the event signals on the event box.".

You probably want to use a gtk.Image rather than a gtk.Button, since buttons require more knowledge of how the theming engine works. If you really want to use a button, you'll need to read up on gtk rc files and the APIs for manipulating them.

别把无礼当个性 2024-09-12 22:45:31

这是在按钮上使用图像的简单方法。请注意,初始化按钮时没有给出任何文本(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)

Here's an easy way to use an image on a button. Note that there is no text given when you initialize the button (self.button1 = gtk.Button()). Adding text there would display the text instead of the image.

    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)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文