2010-06-12 57 views
2

我想創建一個按鈕,我可以使用pyGTK控制按鈕的外觀。我會如何去做這件事?自定義pyGTK按鈕

我想能夠指向一個新的圖像爲每個「狀態」按鈕處於(超過即按下,小鼠,正常...等)

回答

6

the API documentation for gtk.Image所描述的,「如果您想要接收圖像上的事件,例如按鈕點擊,將圖像放入gtk.EventBox,然後連接到事件框中的事件信號。「

您可能想要使用gtk.Image而不是gtk.Button,因爲按鈕需要更多關於主題化引擎的工作方式的知識。如果您確實想要使用按鈕,則需要閱讀gtk rc files以及用於操作它們的API。

+2

通過Glyph正確回答,EventBox中的圖像可能是正確的方法。然而,在一般的UI術語中,改變用戶設置按鈕的樣子(使用樣式變化)本質上是一件壞事。 – 2010-06-13 10:39:56

+0

我絕對同意這一點。 – Glyph 2010-06-14 21:51:36

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)