我可以添加框和表
Quit按钮也不起作用,有人可以编辑那部分代码
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 :(得分:0)
“退出”按钮不起作用,因为您将“销毁”信号连接到按钮而不是点击信号
quitb.connect("clicked", gtk.main_quit)
此外,您忘记连接窗口销毁事件(因此当您单击窗口关闭按钮时程序将永远不会退出)。添加
window.connect("destroy", gtk.main_quit)
要更改标签属性,请使用pango属性
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)
在 init 函数中调用上一个函数,如下所示:
self._add_attributes_to_label(lab1)
按照此tutorial了解有关pango属性的更多信息。