#1. 前言
在上一篇博客中已经讲解了Tkinter的基础知识,为了设计自己的程序界面就需要进一步了解相关控件的使用。在本文中将主力介绍以下控件及其使用,Label、Frame、Entry、Text、Button、Listbox、Scrollbar。
#2. 控件使用及介绍
在Tkinter中控件的使用都是基于如下的形式的:控件类型(根对象, [属性列表]),在控件定义好之后就需要将其添加到主界面上去。通常使用的布局方法便是pack()函数,没有调用pack()函数控件是不能在界面上显示的。
##2.1 Label
Label控件是最为常见的Tkinter控件,主要是用于标签文本的显示。使用方法:(parent可以理解成父窗口,下同)
w = tk.Label(parent, option, ...)
option:
属性 | 解释 |
---|---|
bg | 背景颜色,可设置’white’, ‘black’, ‘red’,‘green’, ‘blue’, ‘cyan’, ‘yellow’, ‘magenta’ |
text | 这个就是你要在标签控件上现实的文本 |
font | 需要显示的文字字体属性(颜色, 大小) |
width | 设置控件宽度 |
height | 设置控件高度 |
bitmap | 设置Label控件中显示图像 |
anchor | 控制Lable中文本的显示位置,当控件大小大于了文本需要的大小时,默认为tk.CENTER |
padx | 指定文本左右两个方向的留白大小,默认为1 |
pady | 指定文本上下两个方向的留白大小,默认为1 |
… \dots … | … \dots … |
示例:
# -*- coding=utf-8 -*-
import Tkinter
root_window = Tkinter.Tk()
root_window.title('Tkinter_Demo')
root_window.geometry('400x300')
hello_label = Tkinter.Label(root_window, text='hello world', bg='red', width=10, height=2)
hello_label.pack(side=Tkinter.TOP) # 这里的side可以赋值为LEFT RTGHT TOP BOTTOM
root_window.mainloop()
效果:
##2.2 Frame
Frame控件是Tkinter控件中用作其它控件的容器。使用方法:
w = Frame(parent, option, ...)
option:
属性 | 解释 |
---|---|
bg or background | Frame控件的背景颜色 |
cursor | 当鼠标在Frame控件区域时需要显示的样式 |
height | Frame控件的高度 |
width | Frame控件的宽度 |
… \dots … | … \dots … |
示例:
# -*- coding=utf-8 -*-
import Tkinter
root_window = Tkinter.Tk()
root_window.title('Tkinter_Demo')
root_window.geometry('400x300')
# main frame
main_frame = Tkinter.Frame(root_window)
main_label = Tkinter.Label(main_frame<