我该如何给它添加颜色,使它看起来更适合用户?

2024-09-28 22:33:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我可以加上箱子和桌子

同样,退出按钮不起作用,可以有人编辑这部分代码请

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()

Tags: textselfaddgtkmaindefwidgetwindow
1条回答
网友
1楼 · 发布于 2024-09-28 22:33:10

“退出”按钮不起作用,因为您将“销毁”信号连接到按钮而不是单击的信号

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

另外,您忘了连接窗口销毁事件(因此当您单击窗口关闭按钮时,程序将永远不会退出)。添加

^{pr2}$

要更改标签属性,请使用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函数中,按如下方式调用前一个函数:

^{4}$

按照这个tutorial来了解更多关于pango属性的信息。在

相关问题 更多 >