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组件的更多相关文章

  1. GUI的最终选择 Tkinter(九):事件

    Tkinter事件处理 Tkinter应用会花费大部分的时间在处理事件循环中(通过mainloop()方法进入),事件可以是触发的鼠标,键盘的操作,管理窗口触发的重绘事件(在多数情况下都是有用户间接引 ...

  2. GUI的最终选择 Tkinter(四):Entry、Listbox、Scrollbar和Scale组件

    Entry组件 Entry组件就是平时所说的输入框.输入框是程序员用到的最多的一个程序,例如在输入账号和密码的时候需要提供两个输入框,用于接收密码的输入框还会有星号将实际输入的内容隐藏起来. Tkin ...

  3. GUI的最终选择 Tkinter(七):菜单Menu组件、Menubutton组件、OptionMenu组件

    Menu组件 今天说的Menu组件就是一些菜单组件,开始点点点... Tkinter提供了一个Menu组件,可以实现顶级菜单,下拉菜单和弹出菜单.由于底层是代码实现和优化的,所以不太建议通过按钮和其他 ...

  4. GUI的最终选择 Tkinter(五):Text用法

    Text组件 绘制单行文本使用Label组件,多行选使用Listbox,输入框使用Entry,按钮使用Button组件,还有Radiobutton和Checkbutton组件用于提供单选或多选的情况, ...

  5. GUI的最终选择 Tkinter(一):Tkinter最初体验

    EasyGui就是一个简单的文字交互界面模块,从今天开始来开始学习Tkinter Tkinter是Python标准的Gui库,它实际是建立在Tk技术上的,Tk最初是为Tcl(一门工具名语言)所涉及的, ...

  6. GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件

    Checkbutton组件 Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮 from tkinter import * root = Tk() v = IntVar ...

  7. GUI的最终选择 Tkinter(二):Label和Button组件

    Label组件 Lable组件是用于界面上输出描述的标签,例如提示用户“您下载的电影含有未成年人限制内容,请满18岁以后点击观看!”,先来上结果图: 在来看下它的代码: from tkinter im ...

  8. GUI的最终选择 Tkinter(六):Canvas组件

    Canvas组件,是一个可以让你任性的组件,一个可以让你随心所欲地绘制界面的组件.Canvas是一个通用的组件,它通常用于显示和编辑图形,可以用它来绘制直线,圆形,多边形,甚至是绘制其他组件. 在Ca ...

  9. GUI的最终选择Tkinter模块初级篇

    一.Tkinter模块的基本使用 1)实例化窗口程序 import tkinter as tk app = tk.Tk() app.title("FishC Demo") app. ...

随机推荐

  1. Log4j2_学习_01_Log4j 2使用教程

    一.推荐使用的log4j2.xml <?xml version="1.0" encoding="UTF-8"?> <!-- 设置log4j2的 ...

  2. <C++>友元与虚函数的组合

    为类重载<<与>>这两个运算符时,重载函数必须为该类的友元函数. 当友元不能被继承,故不能当作虚函数,无法使用多态. 可以用以下结构实现友元与虚函数的组合. class bas ...

  3. Android的appium实例

    1.查看Android的应用包名和activity的方法   (网上有很多种方法,这里应用的是查看日志的方法) CMD中输入>adb logcat -c                   &g ...

  4. Loading 遮蔽层 简单实现。

    <!--背景div--><div id="bg" class="bg" style="display:none;text-align ...

  5. Codefoeces 734F. Anton and School 数学

    Codefoeces 734F 题目大意: 给定两个正整数序列\(b,c\)构造一个正整数序列\(a\)使其满足 \[ \left\{ \begin{array}{} b_i=(a_i\text{ a ...

  6. 排名Top 16的Java实用类库

    (转载: http://www.hollischuang.com/archives/1606) github地址: https://github.com/liufeiSAP/javaStudy.git ...

  7. openStack vm备份

    由于VM是可能存在于不同节点上,所以当一个计算节点挂掉后,可以把挂掉的节点运行的VM在新的节点上继续运行. 虽然快照功能可以做恢复使用,但是毕竟快照只能恢复固定时间的VM,所以虚拟机备份很重要!对做好 ...

  8. 使用superobject 新建Json数据(数组)

    1. 要得到的Json数据:[{"name":"张三","age": 17},{"name":"李四" ...

  9. css如何改变placeholder的默认颜色值

    input:-moz-placeholder {/* Mozilla Firefox 4 to 18*/ color: red; input::-moz-placeholder {/* Mozilla ...

  10. MSSQl分布式查询(转)

    MSSQlServer所谓的分布式查询(Distributed Query)是能够访问存放在同一部计算机或不同计算机上的SQL Server或不同种类的数据源, 从概念上来说分布式查询与普通查询区别 ...