2011-03-07 45 views
0

我可以添加boxs和表如何爲此添加顏色並使其看起來更好?

而且退出按鈕不起作用有人可以編輯代碼的一部分,請

import gtk 

class helloworld: 

     def close(self,widget): 
       print "I'm outta here" 
       gtk.main_quit() 

     def printit(self,widget,lab1): 
       print lab1.get_text() 

     def filllab(self,widget,lab1): 
       lab1.set_text(widget.get_text()) 

     def __init__(self): 
       window = gtk.Window() 
       window.set_size_request(300,400) 
       vbox = gtk.VBox() 
       window.add(vbox) 

       lab1 = gtk.Label("shazbut") 

       # entry widget 
       ent1 = gtk.Entry() 
       ent1.connect("activate",self.filllab,lab1) 

       # quit 
       quitb = gtk.Button("quit",gtk.STOCK_QUIT) 
       quitb.set_size_request(50,100) 
       quitb.connect("destroy", gtk.main_quit) 

       printb = gtk.Button("print") 
       printb.connect("clicked",self.printit,lab1) 

       # Pack widgets in the vbox 
       vbox.add(ent1) 
       vbox.add(lab1) 
       vbox.add(quitb) 
       vbox.add(printb) 

       window.show_all() 

helloworld() 
gtk.main() 

回答

0

的「退出」按鈕不起作用,因爲你連接「消滅「信號的按鈕,而不是點擊信號

quitb.connect("clicked", gtk.main_quit) 

而且,你忘了連接窗口破壞事件(所以程序將永遠不會當你點擊窗口關閉按鈕退出)。添加

window.connect("destroy", gtk.main_quit) 

要更改標籤屬性使用攀高屬性

def _add_attributes_to_label(self,label): 
     attr = pango.AttrList() 

     fg_color = pango.AttrForeground(65535, 0, 0,0,-1) 
     strike = pango.AttrStrikethrough(True,0,-1) 
     size = pango.AttrSize(30000, 0, -1) 

     attr.insert(fg_color) 
     attr.insert(size) 
     attr.insert(strike) 

     label.set_attributes(attr) 

在你初始化函數調用先前的功能是這樣的:

self._add_attributes_to_label(lab1) 

按照此tutorial瞭解更多關於潘戈屬性。

相關問題