python tkinter控件_Python——Tkinter窗口的函数,Pythontkinter,视窗,功能,部件

tkinter简介

Tkinter 是使用 python 进行窗口视窗设计的模块。Tkinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。

tkinter 控件详细介绍:

tkinter 部件表格:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

tkinter支持的16个核心窗口如下:

Button:一个简单的按钮,用来执行一个命令或别的操作。

Canvas:组织图形。这个部件可以用来绘制图表和图,创建图形编辑器,实现定制窗口部件。

Checkbutton:代表一个变量,它有两个不同的值。点击这个按钮将会在这两个值间切换。

Entry:文本输入域。

Frame:一个容器窗口部件。帧可以有边框和背景,当创建一个应用程序或dialog(对话)版面时,帧被用来组织其它的窗口部件。

Label:显示一个文本或图象。

Listbox:显示供选方案的一个列表。listbox能够被配置来得到radiobutton或checklist的行为。

Menu:菜单条。用来实现下拉和弹出式菜单。

Menubutton:菜单按钮。用来实现下拉式菜单。

Message:显示一文本。类似label窗口部件,但是能够自动地调整文本到给定的宽度或比率。

Radiobutton:代表一个变量,它可以有多个值中的一个。点击它将为这个变量设置值,并且清除与这同一变量相关的其它radiobutton。

Scale:允许你通过滑块来设置一数字值。

Scrollbar:为配合使用canvas, entry, listbox, and text窗口部件的标准滚动条。

Text:格式化文本显示。允许你用不同的样式和属性来显示和编辑文本。同时支持内嵌图象和窗口。

Toplevel:一个容器窗口部件,作为一个单独的、最上面的窗口显示。

messageBox:消息框,用于显示你应用程序的消息框。(Python2中为tkMessagebox)

注意在Tkinter中窗口部件类没有分级;所有的窗口部件类在树中都是兄弟关系。

部分功能部件代码示例:

1.主窗口的创建以及Lable标签的创建使用:

#导入tkinter 包

import tkinter

window=tkinter.Tk()#创建窗口对象

window.geometry("500x300")#定义窗口大小

window.title("My Window")#窗口的名称

# 在窗口中添加文本标签,使用tkinter.Lable来添加

lable=tkinter.Label(text='Hello!this is Tkinter', bg='red', font=('仿宋', 15), width=30, height=2)

#bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高

#当然,若只是想让字符显示在窗口中,并不设置背景与字体等,可以直接这样写:

# lable=thinter.Lable("Hello!this is Tkinter")

lable.pack()#将文本标签锁定

window.mainloop()

运行结果如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

2.Button窗口部件:

Button窗口部件简单说明:

Button(按钮)部件是一个标准的Tkinter窗口部件,用来实现各种按钮。按钮能够包含文本或图象,并且你能够将按钮与一个Python函数或方法相关联。当这个按钮被按下时,Tkinter自动调用相关联的函数或方法。

按钮仅能显示一种字体,但是这个文本可以跨行。另外,这个文本中的一个字母可以有下划线,例如标明一个快捷键。默认情况,Tab键用于将焦点移动到一个按钮部件。

简言之,按钮部件用来让用户说“马上给我执行这个任务”,通常我们用显示在按钮上的文本或图象来提示。按钮通常用在工具条中或应用程序窗口中,并且用来接收或忽略输入在对话框中的数据。关于按钮和输入的数据的配合,可以参看Checkbutton和Radiobutton部件。

Button部件使用语法:

btn=tkinter.Button(window,text=“确定”,command=回调函数名称)

代码部分:

#导入tkinter 包

import tkinter

window=tkinter.Tk()#创建窗口对象

window.geometry("500x300")#定义窗口大小

window.title("My Window")#窗口的名称

# 将Lable标签中的文本变量设置为字符型的,并用var来接收

var=tkinter.StringVar()

# 在窗口中添加文本标签,使用tkinter.Lable来添加,但是将窗口中的文本为文本变量形式,究竟要赋什么值,要看var是什么了

lable=tkinter.Label(textvariable=var, bg='red', font=('仿宋', 15), width=30, height=2)

#bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高

lable.pack()#将文本标签锁定

def hit():

var.set("hello!this is tkinter")

#定义按钮

btn=tkinter.Button(text="确定",font=('Arial', 12), width=10, height=1,command=hit)

btn.pack()

window.mainloop()

运行结果如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

3.Entry窗口部件:

Entry是tkinter类中提供的的一个单行文本输入域,用来输入显示一行文本

import tkinter

window=tkinter.Tk()#创建窗口对象

window.geometry("500x300")#定义窗口大小

window.title("My Window")#窗口的名称

h1=tkinter.Entry(window,show="*",font=('Arial',20))#以密文形式显示

h1.pack()

h2=tkinter.Entry(window,show=None,font=('Arial',20))#以明文形式显示

h2.pack()

window.mainloop()

运行结果如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

4.Listbox窗口部件: 显示有一个可供选择的列表

#1.导入tkinter 包

import tkinter

#2.定义窗口的基本信息

window=tkinter.Tk()#创建窗口对象

window.geometry("500x300")#定义窗口大小

window.title("My Window")#窗口的名称

var1=tkinter.StringVar()

#3。在窗口中添加lable标签,用来显示选中的选项 用var1来接收

lable1=tkinter.Label(window,textvariable=var1,background='yellow',fg='red',font=('Arial',20),width=10,height=2)

lable1.pack()

#5.创建一个方法用于按钮的点击事件

def btn_hit():

value=listbox.get(listbox.curselection())#获取当前选中文本

var1.set(value)

#4.创建一个按钮

btn=tkinter.Button(window,text="print selection",width=15,height=2,bg='green',command=btn_hit)

#注意command后面的函数不能加(),否则,不点击按钮就直接执行函数了

btn.pack()

#6.创建listbox并为其添加内容

var2=tkinter.StringVar()

var2.set((1,2,3,4,5,6))#为var2 置值

# 6.1创建listbox

listbox=tkinter.Listbox(window,listvariable=var2)#将var2 的值赋给listbox

#6.2 创建一个列表,并将列表中的值循环加入listbox中

list=[7,8,9]

for item in list:

listbox.insert(item)

#不要忘记将listbox进行锁定哟

listbox.pack()

window.mainloop()

运行结果如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

5.messageBox窗口部件

messageBox:用于显示应用消息的消息框,实际上就相当于我们平时所看到的弹窗(提示对话框),

用法:需要定义一个触发功能,来触发这个弹框。这里可以使用button按钮功能来触发这个弹框,通过触发功能来调用messageBox。点击button就会显示对话框。

代码如下:

#1.导入tkinter 包

import tkinter

import tkinter.messagebox

#2.定义窗口的基本信息

window=tkinter.Tk()#创建窗口对象

window.geometry("500x300")#定义窗口大小

window.title("My Window")#窗口的名称

#3.创建一个方法用于按钮的点击事件

def btn_hit():

tkinter.messagebox.showinfo(title="hi",message='你好!')#使用showinfo提示信息对话框

# tkinter.messagebox.showerror(title="hi",message="出错了")#使用showerror来提示出错对话框

# tkinter.messagebox.showwarning(title="hi",message='警告!')#使用showwarning来提示警告对话框

# print(tkinter.messagebox.askquestion(title="hi",message="你好!"))#使用askquestion来提示选择对话框,选择内容为是/否

# print(tkinter.messagebox.askyesno(title="hi",message="你好!"))#使用askyesno来提示选择对话框,返回true false

#4.创建一个按钮

btn=tkinter.Button(window,text="btn_hit",width=15,height=2,bg='green',command=btn_hit)

#注意command后面的函数不能加(),否则,不点击按钮就直接执行函数了

btn.pack()

window.mainloop()

运行结果如下:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

点击你好返回yes,点击否返回no(对应的是showquestion)

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

点击是返回true,点击否返回false,对应的是askyesno

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3Rpbmd5dV8=,size_16,color_FFFFFF,t_70

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值