@yanglt7
2018-11-16T16:05:25.000000Z
字数 2404
阅读 766
Tkinter
Message(消息)组件是 Label 组件的变体,用于显示多行文本消息。Message 组件能够自动换行,并调整文本的尺寸使其适应给定的尺寸。
例 40
from tkinter import *
root = Tk()
w1 = Message(root, text="这是一则消息", width=100)
w1.pack()
w2 = Message(root, text="这是一则\n骇人听闻的长长长长长消息", width=100)
w2.pack()
mainloop()
Spinbox 组件(Tk8.4 新增)是 Entry 组件的变体,用于从一些固定的值中选取一个。Spinbox 组件和 Entry 组件用法相似,主要区别是使用 Spinbox 组件,可以通过范围或者元组指定允许用户输入的内容。
例 41
from tkinter import *
root = Tk()
w = Spinbox(root, from_=0, to=10)
w.pack()
mainloop()
还可以通过元组指定允许输入的值:
w = Spinbox(root, values=("小甲鱼", "风介", "wei_Y", "戴宇轩"))
PanedWindow 组件(Tk8.4 新增)是一个空间管理组件。跟 Frame 组件类似,都是为组件提供一个框架,不过 PanedWindow 允许用户调整应用程序的空间划分。
例 42
创建一个两窗格的 PanedWindow 组件。
from tkinter import *
m = PanedWindow(orient=VERTICAL)
m.pack(fill=BOTH, expand=1)
top = Label(m, text="top pane")
m.add(top)
bottom = Label(m, text="bottom pane")
m.add(bottom)
mainloop()
例 43
创建一个三窗格的 PanedWindow 组件。
from tkinter import *
m1 = PanedWindow()
m1.pack(fill=BOTH, expand=1)
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)
bottom = Label(m2, text="bottom pane")
m2.add(bottom)
mainloop()
这些不同窗格事实上有一条“分隔线”(sash)隔开。不妨把鼠标缓慢移动到大概的位置,当鼠标指针改变的时候拖动鼠标,也可以把“分隔线”显式地显示出来,并且可以为它附上一个“手柄”(handle):
例 44
from tkinter import *
m1 = PanedWindow(showhandle=True, sashrelief=SUNKEN)
m1.pack(fill=BOTH, expand=1)
left = Label(m1, text="left pane")
m1.add(left)
m2 = PanedWindow(orient=VERTICAL, showhandle=True, sashrelief=SUNKEN)
m1.add(m2)
top = Label(m2, text="top pane")
m2.add(top)
bottom = Label(m2, text="bottom pane")
m2.add(bottom)
mainloop()
Toplevel(顶级窗口)组件类似于 Frame 组件,但 Toplevel 组件是一个独立的顶级窗口,这种窗口通常拥有标题、边框等部件。Toplevel 组件通常用在显示额外的窗口、对话框和其他弹出窗口中。
例 45
在 root 窗口添加一个按钮用于创建一个顶级窗口,点一下出现一个。
from tkinter import *
root = Tk()
def create():
top = Toplevel()
top.title("FishC Demo")
msg = Message(top, text="I love FishC.com")
msg.pack()
Button(root, text="创建顶级窗口", command=create).pack()
mainloop()
attributes() 方法用于设置和获取窗口属性,如果只给出选项名,将返回当前窗口该选项的值。注意:一下选项不支持关键字参数,需要在选项前添加横杠(-)并用字符串的方式表示,用逗号(,)隔开选项和值。
例 46
将 Toplevel 窗口设置为 50% 透明。
from tkinter import *
root = Tk()
def create():
top = Toplevel()
top.attributes("-alpha", 0.5)
top.title("FishC Demo")
msg = Message(top, text="I love FishC.com")
msg.pack()
Button(root, text="创建顶级窗口", command=create).pack()
mainloop()
摘自《零基础入门学习Python》
参考链接:
An Introduction To Tkinter
Tkinter汇总
Python GUI编程(Tkinter)
Tkinter颜色方案举例
python tkinter可以使用的颜色
tkinter学习-菜单与画布
程序设计思想与方法--第五章
用Python中的tkinter模块作图