'''Tkinter教程之Toplevel篇'''
#TopLevel與Frame類似,但它包含表單內容(如Title)
'''1.建立簡單的Toplevel'''
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
tl = Toplevel()
#為了區別root和tl,我們向tl中添加了一個Label
Label(tl,text = 'hello label').pack()
root.mainloop()
#運行結果產生了兩個表單,一個是root啟動的,另一個則是Toplevel建立的,它包含有一個label;關閉tl
#則沒有退出程式,Tk仍舊工作;若關閉Tk,整個Tk結束tl也結束,它不能單獨存在。
'''2.設定Toplevel的屬性'''
#title設定標題
#geometry設定寬和高
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
tl = Toplevel()
#設定tl的title
tl.title('hello Toplevel')
#設定tl在寬和高
tl.geometry('400x300')
#為了區別root和tl,我們向tl中添加了一個Label
Label(tl,text = 'hello label').pack()
root.mainloop()
'''3.使用Toplevel自己製作提示框'''
# -*- coding: cp936 -*-
from Tkinter import *
root = Tk()
mbYes,mbYesNo,mbYesNoCancel,mbYesNoAbort = 0,1,2,4
#定義一個訊息對話方塊,依據傳入的參數不同,彈出不同的提示資訊
def MessageBox(): #沒有使用使用參數
mbType = mbYesNo
textShow = 'Yes'
if mbType == mbYes:
textShow = 'Yes'
elif mbType == mbYesNo:
textShow = 'YesNo'
elif mbType == mbYesNoCancel:
textShow = 'YesNoCancel'
elif mbType == mbYesNoAbort:
textShow = 'YesNoAbort'
tl = Toplevel(height = 200,width = 400)
Label(tl,text = textShow).pack()
#由Button來啟動這個訊息框,因為它使用了空的回呼函數,故MessageBox改為了無參數形式,使用了固定
#值mbYesNo
Button(root,text = 'click me',command = MessageBox).pack()
root.mainloop()
#author: jcodeer
#blog: jcodeer.cublog.cn
#email: jcodeer@126.com