tkinter 组件


组件

说明

Button

按钮控件;在程序中显示按钮。

Canvas

画布控件;显示图形元素如线条或文本

Checkbutton

多选框控件;用于在程序中提供多项选择框

Entry

输入控件;用于显示简单的文本内容

Frame

框架控件;在屏幕上显示一个矩形区域,多用来作容器

Label

标签控件;可以显示文本和位图

Listbox

列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户

Menubutton

菜单按钮控件,由于显示菜单项。

Menu

菜单控件;显示菜单栏,下拉菜单和弹出菜单

Message

消息控件;用来显示多行文本,与label比较类似

Radiobutton

单选按钮控件;显示一个单选的按钮状态

Scale

范围控件;显示一个数值刻度,为输出限定范围的数字区间

Scrollbar


滚动条控件,当内容超过可视化区域时使用,如列表框。

Text

文本控件;用于显示多行文本

Toplevel

容器控件;用来提供一个单独的对话框,和Frame比较类似

Spinbox

输入控件;与Entry类似,但是可以指定输入范围值

PanedWindow

PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。

 LabelFrame

labelframe 是一个简单的容器控件。常用与复杂的窗口布局。

tkMessageBox

用于显示你应用程序的消息框

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

使用tkinter模块的基本步骤如下:

(1)导入tkinter模块

例如:

import tkinter
或       
from tkinter import *

(2)创建一个顶层容器对象

例如:创建一个窗体对象

win = tkinter.Tk()

(3)在顶层容器对象中,添加其它组件;

(4)调用pack()方法进行容器的区域布局;

(5)进入主事件循环

win.mainloop()

    当容器进入主事件循环状态时,容器内部的其他图形对象则处于循环等待状态,这样才能一直保持显示状态。

 

窗体容器和组件:

1. 窗体

窗体是带有标题、边框的一个顶层容器,在其内部可以添加其它组件。其外观如图所示:

python获取控件类 python的控件_Python

设计一个窗体的主要步骤如下:

(1)导入tkinter包:

(2)创建窗体对象:

(3)设置窗体初始的大小(宽x高)和位置(x, y):

(4)设置事件循环,使窗体一直保持显示状态:

import tkinter
win = tkinter.Tk() 
win.title('最简单的窗体')
win.geometry('宽x高+x坐标+y坐标') 
win. mainloop()

2.标签

标签是用于窗体容器中显示文字内容的组件。标签的基本格式为:

label = tkinter.Label(容器名称, 显示文字或图像内容, 显示位置, 文字字体、颜色等)

例:

label=tkinter.Label(win,text='欢迎进入python世界!',font='宋体',fg='red')

 

python获取控件类 python的控件_python获取控件类_02

按钮和事件处理

1.按钮对象

(1)按钮Button的常用属性

python获取控件类 python的控件_事件循环_03

(2)创建按钮对象

创建按钮对象的方法为:

Btn = tkinter.Button(容器, text ="按钮上的文字")

由于按钮是一个普通组件,设计时必须放置到一个容器中。

2. 处理按钮事件

例:

import tkinter
win = tkinter.Tk()
win.title('Python')
win.geometry('300x300+100+100')
# 在窗体中添加标签
label=tkinter.Label(win,text='\n欢迎进入Python世界!\n\n',font='宋体',fg='red')
label.pack()
t1='\n\n少壮不努力,老大徒伤悲!'

def mClick():
    label1=tkinter.Label(win,text=t1,font='黑体',fg='red')
    label1.pack()
# 在窗体中添加按钮
btn = tkinter.Button(win,heigh=2,width=8,text ='点击我!',fg='green',command=mClick)  #command用于调用事件函数mClick
btn.pack()

win. mainloop()

结果:

python获取控件类 python的控件_事件循环_04

python获取控件类 python的控件_python获取控件类_05

 

界面布局管理

Python定义了3种界面布局管理方式。

1. pack布局

pack布局管理方式按组件的创建顺序在容器区域中排列

pack的常用属性有side和fill:

  • side属性:其取值为'top'、'bottom'、'left'、'right',分别表示组件排列在上、下、左、右的位置。默认为top。
  • fill属性:其取值为'x'、'y'、'both',分别表示填充x(水平)或y(垂直)方向的空间。

2.  place布局

place布局管理方式为指定组件的坐标位置排列,这种排列方式又称为绝对布局。

3. grid布局

grid布局管理方式为网格布局,组件放置在二维表格的单元格中。  

grid布局的常用属性有:row(行)、column(列)、rowspan(组件占据行数)、columnspan(组件占据列数)。

文本框组件

在Python中,文本框Entry用于接收输入的数据。文本框Entry的基本格式为:

  txt = tkinter.Entry(容器名称,width=宽度, 文字字体、颜色等)

python获取控件类 python的控件_事件循环_06