博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GUI的最终选择 Tkinter(八):Message组件、Spinbox组件、PanedWindow组件、Toplevel组件
阅读量:4615 次
发布时间:2019-06-09

本文共 2111 字,大约阅读时间需要 7 分钟。

Message组件

Message(消息)组件是Label组件的变体,用于显示多行文本消息,Message组件能够自动执行,并调整文本的尺寸使其适应给定的尺寸。

1 from tkinter import *2 3 root = Tk()4 w1 = Message(root,text="这是一个消息",width=100)5 w1.pack()6 w2 = Message(root,text="这是一个骇人听闻的消息,台湾海峡发生了地震",width=200)7 w2.pack()8 mainloop()

 

执行结果:

 

Spinbox组件

Spinbox组件是Entry组件的变体,这是在Tk8.4版本中新增的一个组件,是从固定的值中选取一个。Spinbox组件和Entry组件在用法上非常的相似,主要的区别是Spinbox组件可以通过范围或者元组指定允许用户输入的内容。

1 from tkinter import *2 3 root = Tk()4 w = Spinbox(root,from_=0,to=10)5 w.pack()6 mainloop()

 

执行结果:

 

下面是通过元组指定允许输入的值。

1 from tkinter import *2 3 root = Tk()4 w = Spinbox(root,values=("php","python","c+","java"))5 w.pack()6 mainloop()

执行结果:

 

PanedWindow组件

PanedWindow组件也是Tk8.4版本新增的一个空间管理组件,和Frame组件有点类似,都是为组件提供一个框架,不过PanedWindow允许让用户调整应用程序的空间划分。

1 from tkinter import * 2  3 root = Tk() 4 m = PanedWindow(orient=VERTICAL) 5 m.pack() 6 top = Label(m,text="TOP PANE") 7 m.add(top) 8 botton = Label(m,text="Botton pane") 9 m.add(botton)10 mainloop()

执行结果:

 

在两个Label之间有一个线,可以尝试把鼠标放上去,会有一个上下箭头可以拉一下。

两个窗格的创建好了,那么三个窗格的就子通了:

1 from tkinter import * 2  3 root = Tk() 4 m1 = PanedWindow() 5 m1.pack(fill=BOTH,expand=1) 6 left = Label(m1,text="left pane") 7 m1.add(left) 8 m2 = PanedWindow(orient=VERTICAL) 9 m1.add(m2)10 top = Label(m2,text="TOP PANE")11 m2.add(top)12 botton = Label(m2,text="Botton pane")13 m2.add(botton)14 mainloop()

执行结果:

 

Toplevel组件

Toplevel组件是一个独立的顶级窗口组件有标题栏,边框栏等部件。Toplevel组件通常用来显示额外的对话窗或者弹出框。

来看个例子,使用root窗口添加一个按钮,用于创建一个顶级窗口,点一下出现一个。

1 from tkinter import * 2  3 root = Tk() 4 def creat(): 5     top = Toplevel() 6     top.title("python") 7     msg = Message(top,text="I love python") 8     msg.pack() 9 Button(root,text="创建顶级窗口",command=creat).pack()10 mainloop()

执行结果:

 

最后说下attributes()方法,它主要是用于设置或者获取窗口属性,如果只是给与选项名,将会返回当前窗口该选项的值。注意,下面的选项方式不支持关键字参数,需要在选项前面添加横杠(-)并使用字符串的方式,用逗号(,)隔开选项和值。

1 from tkinter import * 2  3 root = Tk() 4 def creat(): 5     top = Toplevel() 6     top.title("python") 7     top.attributes("-alpha",0.5) 8     msg = Message(top,text="I love python") 9     msg.pack()10 Button(root,text="创建顶级窗口",command=creat).pack()11 mainloop()

执行结果:

 

 

转载于:https://www.cnblogs.com/pinpin/p/10029312.html

你可能感兴趣的文章
测试开发学习进阶教程 视频&PDF
查看>>
C#基础-连接Access与SQL Server
查看>>
autofac
查看>>
MacOS 系统终端上传文件到 linux 服务器
查看>>
Excel导出POI
查看>>
兼容性
查看>>
自动执行sftp命令的脚本
查看>>
转 Merkle Tree(默克尔树)算法解析
查看>>
网络编程基础之socket编程
查看>>
各种浏览器的user-agent和
查看>>
Restful levels
查看>>
Phonegap移动开发:布局总结(一) 全局
查看>>
Java 变参函数的实现
查看>>
Spring重温(四)--Spring自动组件扫描
查看>>
Android设计图(标注、切图)
查看>>
strstr and strpos
查看>>
hash算法与拉链法解决冲突
查看>>
如何使用jQuery判断一个元素是否存在
查看>>
HTML5中的Canvas(颜色)【转载】
查看>>
420. Strong Password Checker
查看>>