繁体   English   中英

如何为它添加颜色并使用户看起来更好?

[英]How do I add colour to this and make it look better for the user?

我可以添加盒子和桌子

同样,“退出”按钮不起作用,有人可以编辑部分代码吗?

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

“退出”按钮不起作用,因为您将“破坏”信号连接到了该按钮,而不是单击了信号

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)

请按照本教程了解有关pango属性的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM