2011-03-07 35 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了解更多关于潘戈属性。

相关问题