网站建设dede模板免费,企业网站设计中应注意产品发布功能优化,wordpress 图标,网站设计与程序方向Tkinter 的基本组件我们已经介绍得七七八八了#xff0c;剩下的一些我们在这节课全部都会讲解完毕。
#xff08;一#xff09;Message组件
Message#xff08;消息#xff09;组件是 Label 组件的变体#xff0c;用于显示多行文本消息。众所周知#xff0c;我们的Lab…Tkinter 的基本组件我们已经介绍得七七八八了剩下的一些我们在这节课全部都会讲解完毕。
一Message组件
Message消息组件是 Label 组件的变体用于显示多行文本消息。众所周知我们的Label 组件只能显示单行消息。Message 组件能够自动换行并调整文本的尺寸使其适应给定的尺寸。
我们来举个例子大家就明白了 import tkinter as tk root tk.Tk() w1 tk.Message(root, text 这是一则短消息, width 100) w1.pack() w2 tk.Message(root, text 这是一则骇人听闻的长长长长长长长长长长长消息, width 100) w2.pack() root.mainloop() 二Spinbox组件
Spinbox 组件Tk8.4 新增是 Entry 组件的变体用于从一些固定的值中选取一个。众所周知我们的Entry组件是能够让用户随心所欲输入数据的组件Spinbox 组件就进一步限制用户输入的数据。
我们还是举个例子 import tkinter as tk root tk.Tk() w tk.Spinbox(root, from_ 0, to 10) w.pack() root.mainloop() 我们可以通过上下点输入 0 -10另外我们还是可以任意输入数据我们可以通过改变 increment 选项的值来改变步进。
你还可以通过元组指定允许输入的值 import tkinter as tk root tk.Tk() w tk.Spinbox(root, values (python, C, java, C#)) w.pack() root.mainloop() 三PanedWindow组件
PanedWindow 组件Tk8.4 新增是一个空间管理组件。跟 Frame 组件类似都是为组件提供一个框架不过 PanedWindow 允许让用户调整应用程序的空间划分。
不明白的话可以先看下面的两个例子就会豁然开朗了。
我们的窗格有简单的例如两个窗格上和下左和右。 import tkinter as tk m tk.PanedWindow(orientvertical) m.pack(fillboth, expand1) top tk.Label(m, texttop pane) m.add(top) bottom tk.Label(m, textbottom pane) m.add(bottom) tk.mainloop() 创建一个 3 窗格的 PanedWindow 组件则需要一点小技巧 import tkinter as tk #先创建左右的窗格 m1 tk.PanedWindow() #默认是左右分布的 m1.pack(fillboth, expand1) left tk.Label(m1, text left pane) m1.add(left) m2 tk.PanedWindow(orient vertical) m1.add(m2) top tk.Label(m2, text top pane) m2.add(top) bottom tk.Label(m2, text bottom pane) m2.add(bottom) tk.mainloop() 这里不同窗格事实上是有一条“分割线”sash隔开虽然你看不到但你却可以感受到它的存在。不信不妨把鼠标缓慢移动到大概的位置当鼠标指针改变的时候后拖拽鼠标......
但我们也可以把“分割线”给显式地显示出来并且可以为它附上一个“手柄”handle import tkinter as tk #先创建左右的窗格 m1 tk.PanedWindow(showhandle True, sashrelief sunken) #默认是左右分布的 m1.pack(fillboth, expand1) left tk.Label(m1, text left pane) m1.add(left) m2 tk.PanedWindow(orient vertical, showhandle True, sashrelief sunken) m1.add(m2) top tk.Label(m2, text top pane) m2.add(top) bottom tk.Label(m2, text bottom pane) m2.add(bottom) tk.mainloop() 图中的小方块就是 handle 默认离边界为 8 个像素可以通过 handlepad 选项来设置它的位置。
四Toplevel 组件
Toplevel 组件和 root 组件是一个级别的Toplevel顶级窗口组件类似于 Frame 组件但 Toplevel 组件是一个独立的顶级窗口这种窗口通常拥有标题栏、边框等部件。
Toplevel 组件通常用在显示额外的窗口、对话框和其他弹出窗口上。 import tkinter as tk root tk.Tk() def create(): top tk.Toplevel() top.title(Python tkinter) msg tk.Message(top, text I love Python!) msg.pack() tk.Button(root, text 创建顶级窗口, command create).pack() root.mainloop() 想要几个就点几下。
得到的顶级窗口都是相互独立的但是都是来自于 root 窗口当 root 窗口关闭后所有的顶级窗口都被关闭。