GUI的最终选择 Tkinter(八):Message组件、Spinbox组件、PanedWindow组件、Toplevel组件
Message组件
Message(消息)组件是Label组件的变体,用于显示多行文本消息,Message组件能够自动执行,并调整文本的尺寸使其适应给定的尺寸。
from tkinter import * root = Tk()
w1 = Message(root,text="这是一个消息",width=)
w1.pack()
w2 = Message(root,text="这是一个骇人听闻的消息,台湾海峡发生了地震",width=)
w2.pack()
mainloop()
执行结果:
Spinbox组件
Spinbox组件是Entry组件的变体,这是在Tk8.4版本中新增的一个组件,是从固定的值中选取一个。Spinbox组件和Entry组件在用法上非常的相似,主要的区别是Spinbox组件可以通过范围或者元组指定允许用户输入的内容。
from tkinter import * root = Tk()
w = Spinbox(root,from_=,to=)
w.pack()
mainloop()
执行结果:
下面是通过元组指定允许输入的值。
from tkinter import * root = Tk()
w = Spinbox(root,values=("php","python","c+","java"))
w.pack()
mainloop()
执行结果:
PanedWindow组件
PanedWindow组件也是Tk8.4版本新增的一个空间管理组件,和Frame组件有点类似,都是为组件提供一个框架,不过PanedWindow允许让用户调整应用程序的空间划分。
from tkinter import * root = Tk()
m = PanedWindow(orient=VERTICAL)
m.pack()
top = Label(m,text="TOP PANE")
m.add(top)
botton = Label(m,text="Botton pane")
m.add(botton)
mainloop()
执行结果:
在两个Label之间有一个线,可以尝试把鼠标放上去,会有一个上下箭头可以拉一下。
两个窗格的创建好了,那么三个窗格的就子通了:
from tkinter import * root = Tk()
m1 = PanedWindow()
m1.pack(fill=BOTH,expand=)
left = Label(m1,text="left pane")
m1.add(left)
m2 = PanedWindow(orient=VERTICAL)
m1.add(m2)
top = Label(m2,text="TOP PANE")
m2.add(top)
botton = Label(m2,text="Botton pane")
m2.add(botton)
mainloop()
执行结果:
Toplevel组件
Toplevel组件是一个独立的顶级窗口组件有标题栏,边框栏等部件。Toplevel组件通常用来显示额外的对话窗或者弹出框。
来看个例子,使用root窗口添加一个按钮,用于创建一个顶级窗口,点一下出现一个。
from tkinter import * root = Tk()
def creat():
top = Toplevel()
top.title("python")
msg = Message(top,text="I love python")
msg.pack()
Button(root,text="创建顶级窗口",command=creat).pack()
mainloop()
执行结果:
最后说下attributes()方法,它主要是用于设置或者获取窗口属性,如果只是给与选项名,将会返回当前窗口该选项的值。注意,下面的选项方式不支持关键字参数,需要在选项前面添加横杠(-)并使用字符串的方式,用逗号(,)隔开选项和值。
from tkinter import * root = Tk()
def creat():
top = Toplevel()
top.title("python")
top.attributes("-alpha",0.5)
msg = Message(top,text="I love python")
msg.pack()
Button(root,text="创建顶级窗口",command=creat).pack()
mainloop()
执行结果:
GUI的最终选择 Tkinter(八):Message组件、Spinbox组件、PanedWindow组件、Toplevel组件的更多相关文章
- GUI的最终选择 Tkinter(九):事件
Tkinter事件处理 Tkinter应用会花费大部分的时间在处理事件循环中(通过mainloop()方法进入),事件可以是触发的鼠标,键盘的操作,管理窗口触发的重绘事件(在多数情况下都是有用户间接引 ...
- GUI的最终选择 Tkinter(四):Entry、Listbox、Scrollbar和Scale组件
Entry组件 Entry组件就是平时所说的输入框.输入框是程序员用到的最多的一个程序,例如在输入账号和密码的时候需要提供两个输入框,用于接收密码的输入框还会有星号将实际输入的内容隐藏起来. Tkin ...
- GUI的最终选择 Tkinter(七):菜单Menu组件、Menubutton组件、OptionMenu组件
Menu组件 今天说的Menu组件就是一些菜单组件,开始点点点... Tkinter提供了一个Menu组件,可以实现顶级菜单,下拉菜单和弹出菜单.由于底层是代码实现和优化的,所以不太建议通过按钮和其他 ...
- GUI的最终选择 Tkinter(五):Text用法
Text组件 绘制单行文本使用Label组件,多行选使用Listbox,输入框使用Entry,按钮使用Button组件,还有Radiobutton和Checkbutton组件用于提供单选或多选的情况, ...
- GUI的最终选择 Tkinter(一):Tkinter最初体验
EasyGui就是一个简单的文字交互界面模块,从今天开始来开始学习Tkinter Tkinter是Python标准的Gui库,它实际是建立在Tk技术上的,Tk最初是为Tcl(一门工具名语言)所涉及的, ...
- GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件
Checkbutton组件 Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮 from tkinter import * root = Tk() v = IntVar ...
- GUI的最终选择 Tkinter(二):Label和Button组件
Label组件 Lable组件是用于界面上输出描述的标签,例如提示用户“您下载的电影含有未成年人限制内容,请满18岁以后点击观看!”,先来上结果图: 在来看下它的代码: from tkinter im ...
- GUI的最终选择 Tkinter(六):Canvas组件
Canvas组件,是一个可以让你任性的组件,一个可以让你随心所欲地绘制界面的组件.Canvas是一个通用的组件,它通常用于显示和编辑图形,可以用它来绘制直线,圆形,多边形,甚至是绘制其他组件. 在Ca ...
- GUI的最终选择Tkinter模块初级篇
一.Tkinter模块的基本使用 1)实例化窗口程序 import tkinter as tk app = tk.Tk() app.title("FishC Demo") app. ...
随机推荐
- selenium中类名不能与方法名相同
不要将selenium中的类名命名成需要用到的方法名,不然会报错!
- Java中内部类中使用外面变量为什么final修饰?
所以final从语法上约束了实际上两个不同变量的一致性(表现为同一变量). 我的理解: 例如这样的代码: public void test(String str){ str="abc&quo ...
- LNMP安装(二)
PHP安装 1.yum安装一些依赖库 yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel ...
- codeforces 558B B. Amr and The Large Array(水题)
题目链接: B. Amr and The Large Array time limit per test 1 second memory limit per test 256 megabytes in ...
- web前端js过滤敏感词
web前端js过滤敏感词 这里是用文本输入框还有文本域绑定了失去焦点事件,然后再遍历敏感词数组进行匹配和替换. var keywords=["阿扁","呵呵", ...
- cmder的下载和使用
下载地址:http://cmder.net/ 设置环境变量,CMDER_HOME=cmder.exe所在目录,并在path中增加%CMDER_HOME%. 右击我的电脑->属性->(左侧) ...
- final修饰变量
final修饰基本类型变量 当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变 final修饰引用类型变量 当使用final修饰引用类型变量时,它保存的仅仅是一 ...
- HL7 Event Type
Table 0003 - Event type Value Description A01 ADT/ACK - Admit / visit notification A02 ADT/ACK - Tra ...
- IOS要用到的零碎东西
有些东西虽然不重要,但是零零碎碎会用到,就做个笔录吧: 协议中有2个关键字可以控制方法是否要实现(默认是@required),在大多数情况下, 用途在于程序员之间的交流 @required:这个方法必 ...
- Linux安装JDK1.7 prm
[转]Linux安装JDK1.7 prm 一.卸载JDK Linux会自带JDK,如果不使用自带版本的话需要卸载. 1.卸载系统自带的jdk版本 查看自带的jdk #rpm -qa | ...