1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Python Tkinter教程(二)——Label控件 Frame控件 Button控件的完整参数和所有方法及详细用法

Python Tkinter教程(二)——Label控件 Frame控件 Button控件的完整参数和所有方法及详细用法

时间:2022-02-01 08:29:02

相关推荐

Python Tkinter教程(二)——Label控件 Frame控件 Button控件的完整参数和所有方法及详细用法

>>>【上节回顾:tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用】<<<

Python Tkinter教程(二)

这篇博客将详细并尽可能完整地介绍tkinter模块15种基本控件中的Label控件、Frame控件和Button控件,包括所有的参数和方法,通过示例代码和图片的方式进行详细地教程。

目录

一、Label控件

【参数说明】

【方法说明】

二、Frame控件

【参数说明】

【方法说明】

三、Button控件

【参数说明】

【方法说明】

一、Label控件

【Label控件官方原文:label manual page - Tk Built-In Commands】

label控件就是标签控件,最基本的控件之一,可以用来显示文本和位图

w = Label(parent, option, ...)

parent是父控件,option是一些参数

【参数说明】

【活动状态】如果鼠标光标位于控件上,并且按下鼠标左键导致某些操作发生,则控件或控件的一部分将处于活动状态。Windows系统下仅当鼠标左键按在控件上时才处于活动状态。

【博主认为(可能有误):活动状态貌似仅对于某些控件(如Button)有效】

【relief参数】

【方法说明】

【示例代码】

from tkinter import *#导入tkinter模块root = Tk()#创建主窗口root.title('一个窗口')#设置窗口标题root.geometry('300x200+200+200')#设置窗口大小及位置#创建一个标签控件并赋值给label变量label = Label(root,text='这是一个标签',bg='grey',fg='#F0F0F0',font=('华文新魏',15),bd=5,relief='groove')label.pack()#放置标签控件root.mainloop()#主窗口进入消息事件循环

【运行效果】

【特别说明】

这里我们先不去讨论控件的放置问题(这里用的几何管理方法是Pack)后面我们再对控件的放置进行讨论,这里特别要说明的是,任何一个基本控件的第一个参数一定是它的父控件,在上面的代码中Label控件的父控件是Toplevel控件中的一种容器控件,即root。关于Toplevel控件容器控件的说明见:Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用

二、Frame控件

【Frame控件官方原文:frame manual page - Tk Built-In Commands】

Frame控件就是框架控件,一种基本容器控件,可以充当其他基本控件的父控件

w = Frame(parent, option, ...)

parent是父控件,option是一些参数

【参数说明】

【方法说明】

【示例代码】

from tkinter import *#导入tkinter模块root = Tk()#创建主窗口root.title('一个窗口')#设置窗口标题root.geometry('300x200+200+200')#设置窗口大小及位置frame = Frame(root,bg='lightgreen')#创建一个框架frame.place(width=200,height=100,x=50,y=50)#放置框架#这一步骤很关键,不可以直接写成“frame = Frame(root,bg='lightgreen',height=100,width=200).place(width=200,height=100,x=50,y=50)”,不然会报错!#创建一个标签控件并赋值给label变量Label(frame,text='这是一个标签',bg='grey',fg='#F0F0F0',font=('华文新魏',15),bd=5,relief='groove').pack()#为了简化代码,这里就直接放置标签控件root.mainloop()#主窗口进入消息事件循环

【运行效果】

【特别说明】

这里用了两种几何布局管理器(Place和Pack)我们暂且先不管,这里我们要注意一个非常非常重要而且易错的地方!上面创建Label控件的时候没有把控件赋值给一个变量,而是直接把它的布局写在了后面(.pack()写在后面),在其他代码没有涉及到这个控件时这样做是没有问题的,但是对于上面的Frame控件就不行!因为Label控件的父控件是Frame控件!

创建Frame控件并赋值给frame变量,此时frame代表的是一个Frame控件。但是!如果直接写成下面这样的错误写法:

frame = Frame(root,bg='lightgreen',height=100,width=200).place(width=200,height=100,x=50,y=50)

即,把几何布局一起写在了后面,这样做那么此时frame变量代表的值不是一个Frame控件,而是None!有图有真相,请看下面:

正确做法

错误做法

有时候简化代码可以,有时候不行,会犯错,平时我们要多多注意!

三、Button控件

【Button控件官方原文:button manual page - Tk Built-In Commands】

Button控件就是我们最喜欢的按钮控件,点击它可以执行相关的函数

w = Button(parent, option, ...)

parent是父控件,option是一些参数

【参数说明】

【方法说明】

【示例代码】

from tkinter import *#导入tkinter模块root = Tk()#创建主窗口root.title('一个窗口')#设置窗口标题root.geometry('300x200+200+200')#设置窗口大小及位置b = Button(root,relief='flat',activebackground='orange',bg='lightgreen',overrelief='raised',text='Click',command=lambda:print(b.cget('relief')))#创建按钮b.place(width=100,height=30,x=100,y=100)#放置按钮root.mainloop()#主窗口进入消息事件循环

【运行效果】

这3幅效果图分别是【鼠标光标未经过按钮】【鼠标光标悬停在按钮上】【按下按钮但不释放】

按下按钮后执行command命令的效果

>>>【下节内容:Pack方法、Place方法和Grid方法的详细教程】<<<

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。