您的位置:首页 > 编程语言 > Python开发

Python Tkinter 学习笔记(二)Hello_again

2015-07-05 23:09 731 查看
#hello_again.py
fromtkinterimport*
classApp:
def__init__(self,master):

frame=Frame(master)
frame.pack()

self.button=Button(
frame,text="关闭",fg="blue",command=frame.quit
)
#也可以用foreground代替fg(缩写)
self.button.pack(side=LEFT)
self.hi_there=Button(
frame,text="Hello",command=self.say_hi
)
self.hi_there.pack(side=LEFT)

defsay_hi(self):
print("Hi,fudianheg.Thisisversion2of'helloworld'")

root=Tk()
app=App(root)

root.mainloop()
#root.destory()写错一个单词怪不得销毁不了窗口...
root.destroy()


运行结果: 

  当编写大的程序项目时,最好把代码用类包起来。  点击Hello时,控制台会显示:    "Hi,fudianheg.Thisisversion2of'helloworld'  点击关闭时,程序就终止了。  __init__会创建一个parentwidget(master),由(Frame)创建,存储在一个(frame)变量中。

创建这个窗口后,用(pack)函数显示出来。  随后创建两个Button部件作为frame的子部件,并且用(pack)函数显示。  我们在部件的构造函数中用了许多选项,作为关键字参数。第一个按钮显示“关闭”,并且用blue作为前景色,第二个显示“Hello”,也同样用了(command)选项。这个特殊的command选项指定一个函数,或者(在本例中)绑定的方法。  这两个Button部件存储于实例中,它们紧密挨在一起,加上了side=LEFT选项后,则依次靠左排列,如果side选项没有加,那么默认是TOP,效果如图:

  接下来,创建一个root,把root作为参数创建一个父窗口,执行mainloop循环。  还有root.destroy()是可选的,有的环境在要在程序结束后才能退出,就要加上这一条。(例如博主的环境就是这样)

后记:  事实上创建一个窗口部件不一定需要存储在具体的变量中。如果在创建之后并不需要对它进行操作,那么可以用这种写法:  Button(frame,text="Hello",command=self.hello).pack(side=LEFT)  如果需要在创建之后再操作,或者为了保险起见,也可以存起来  w=Button(frame,text="Hello",command=self.hello)  w.pack(side=LEFT)




后记:
  在Tcl编程中,如果要创建一个叫做“OK”的Button,作为dialog的子窗口,则要这样写:
    button.dialog.ok
  在Tkinter中是这样的:
    ok=Button(dialog)
  Tkinter会自动为每个窗口分配名字,上式ok和dialog只是参考,并不是真正的名字,真正地名字用str()读出来,如果要确定每个窗口部件的名字,那么可以这样:
    ok=Button(dialog,name="ok")
  那么这个窗口的名字叫.dialog.ok(如果你忘了dialog的名字,那可能就叫.1234323.ok之类的),窗口部件一旦被创建名字就不能变。


  
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: