Message组件
Message(消息)组件是Label组件的变体,用于显示多行文本信息。Message组件能够自动换行,并调整文本的尺寸使其适应给定得尺寸。
实例1:
1 from tkinter import *
2
3 root = Tk()
4 w1 = Message(root,text="这是一则消息",width=100)
5 w1.pack()
6 w2 = Message(root,text="这是一条骇人听闻的长消息!",width=100)
7 w2.pack()
8
9 mainloop()
Spinbox组件
Entry组件的变体,用于从一些固定的值中选取一个。使用Spinbox组件,可以通过返回或者元组指定允许用户输入的内容。
实例1:
1 from tkinter import *
2
3 root = Tk()
4
5 #w = Spinbox(root,from_=0,to=10)#指定输入值为0-10
6 w = Spinbox(root,value=("Hadley","小土豆","雅馨"))#指定输入
7 w.pack()
8
9 mainloop()
PanedWindow组件
与Frame类似,都是为组件提供一个框架,但其还允许让用户调整应用程序的空间划分
实例1:两窗格
1 from tkinter import *
2
3 root = Tk()
4
5 m = PanedWindow(orient = VERTICAL)#设置为上下分布
6 m.pack(fill=BOTH,expand=1)#设置为框架覆盖全局
7
8 top = Label(m,text="top pane")#顶窗格
9 m.add(top)
10
11 bottom = Label(m,text="bottom pane")#底窗格
12 m.add(bottom)
13
14 mainloop()
实例2:三窗格
1 from tkinter import *
2
3 root = Tk()
4
5 m1 = PanedWindow()#默认为左右分布
6 m1.pack(fill=BOTH,expand=1)
7 left = Label(m1,text="left pane")#左窗格
8 m1.add(left)
9
10 m2 = PanedWindow(orient=VERTICAL)
11 m1.add(m2)
12 top=Label(m2,text="top pane")#顶窗格
13 m2.add(top)
14 bottom = Label(m2,text="bottom pane")#底窗格
15 m2.add(bottom)
16
17 mainloop()
实例3:显示“分割线”
1 from tkinter import *
2
3 root = Tk()
4
5 #showhandle=True表示显示“手柄”
6 #sashrelief=SUNKEN表示分隔线的样式设置为向下凹
7 m1 = PanedWindow(showhandle=True,sashrelief=SUNKEN)
8 m1.pack(fill=BOTH,expand=1)
9 left = Label(m1,text="left pane")
10 m1.add(left)
11
12 m2 = PanedWindow(orient=VERTICAL,showhandle=True,sashrelief=SUNKEN)
13 m1.add(m2)
14 top=Label(m2,text="top pane")
15 m2.add(top)
16 bottom = Label(m2,text="bottom pane")
17 m2.add(bottom)
18
19 mainloop()
Toplevel组件
Topleve(顶级窗口)l组件类似于Frame组件,但其是一个独立的顶级窗口,通常拥有标题栏、边框等部件。通常用在显示额外的窗口、对话框和其他弹出窗口中。
实例1:按钮按下创建一个顶级窗口
1 from tkinter import *
2
3 def create():
4 top = Toplevel()#创建一个独立的顶级窗口
5 top.title("FishC Demo")
6 msg = Message(top,text="I love FishC.com")
7 msg.pack()
8
9 root = Tk()
10 Button(root,text="创建顶级窗口",command=create).pack()
11
12 mainloop()
实例2:Toplevel的窗口设置为50%透明
1 from tkinter import *
2
3 def create():
4 top = Toplevel()
5 top.title("FishC Demo")
6 top.attributes("-alpha",0.5)#设置为50%透明度
7 msg = Message(top,text="I love FishC.com")
8 msg.pack()
9
10 root = Tk()
11 Button(root,text="创建顶级窗口",command=create).pack()
12
13 mainloop()