Пользовательская кнопка pyGTK - PullRequest
2 голосов
/ 12 июня 2010

Я хотел бы создать кнопку, с помощью которой я могу управлять внешним видом кнопки с помощью pyGTK. Как бы я поступил так?

Я хотел бы иметь возможность указывать новое изображение для каждого «состояния», в котором находится кнопка (т. Е. Нажатие, наведение мыши, нормальное ... и т. Д.)

Ответы [ 2 ]

6 голосов
/ 13 июня 2010

Как описано в документации API для gtk.Image, "Если вы хотите получать события на изображении, например, нажатия кнопок, поместите изображение в gtk.EventBox, затем подключитесь к событию сигналы в окне событий. ".

Возможно, вы захотите использовать gtk.Image, а не gtk.Button, поскольку для кнопок требуется больше знаний о том, как работает механизм создания тем. Если вы действительно хотите использовать кнопку, вам нужно прочитать о gtk rc файлах и API для управления ими.

1 голос
/ 26 января 2012

Вот простой способ использовать изображение на кнопке.Обратите внимание, что при инициализации кнопки текст не отображается (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)
...