python——tkinter

本文介绍Tkinter的基础使用方法,包括创建窗口、修改标题、添加标签等基本操作,并深入讲解核心组件及按钮的绑定事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tkinter的使用:

一、最基本的创建一个窗口:

from Tkinter import *
root = Tk()      # 创建窗口,即对Tk进行实例化
root.mainloop()  # 进入循环

----此时后面有个黑乎乎的控制台窗口,如果我们想双击之后直接看到我们创建的这个窗口(即相当于exe文件),而不像看到这个命令行窗口,那么可以把demo1.py修改后缀名为demo1.pyw,并且用Python安装目录下的pythonw.exe打开即可。


二、修改窗口的标题:

----官方对于该类的描述是“代表绝大多数应用程序主窗口的高层空间,它会和一个Tcl解释器相关联”,它继承自两个类,一个是Misc,另一个是Wm,我们这里使用的mianloop方法,就是从Misc里面继承来的。

from Tkinter import *
root = Tk()      # 创建窗口,即对Tk进行实例化
root.wm_title('title')  # 创建标题
root.mainloop()  # 进入循环


三、认识新的组件——标签:

-----

认识新组件---标签 ***********组件**************  

(1)如果大家习惯了windows编程,那么对于“控件”一次一定不会陌生,其实呢,组件和控件是一回事,在本书中我们不加以区分。 

2).组件的英文表述是“widget”,我们常见的按钮,文本框等等都可以当做组件。  

(3).我们可以为一个窗口增加若干组件来丰富该窗口的功能,我们往往需要指定这个组件的大小和位置,我们还需要通过编程的方式来指定该组件能完成什么功能。 **********标签空间***************** 

(1).所谓“标签”,就是贴在物品前面的一个简短的说明,它用于说明一些文字信息。

(2).标签可以说是最简单的窗口组件了,它不需要执行任何功能,只是用来显示信息。  ************增加一个Label***************

from Tkinter import *
root = Tk()      
root.wm_title('title')  
w1 = Label(root,text="let s learn tkinter!")   # Label为一个类 在__init__中可以查看。
w1.pack()                                     # w1为Label的实例,有text属性,用来指定文本内容
root.mainloop()  


-------Lable中还有的属性有:


***********总结**************** 

(1).我们这一节学习了Label这个组件,它的创建使用Label这个类,实例化的时候首先要指定它的父窗口,然后就是用字典的方式设置自己的一些特征,这些特征上面都列出了,但是没有实例演示。  

(2).然后使用pack方法布局上去,关于布局,我们后面会详细讲,这里我们统一使用pack就可以了。  

**************多标签的应用程序*************** 

(1).如果我们想要多个标签,该怎么办呢?  

(2)很简单,只需要声明多个标签的实例,然后分别pack到窗口上即可。

(3).下面是使用了三个标签的代码截图:




四、核心组件以及按钮讲解:

*************tkinter的核心组件************ 

1.在Python的tkinter中,有21个核心组件,它们提供了最基本的功能,虽然简单,因为使用频率较高,因此特别重要。 

 2.这21个核心组件是:Toplevel、Label、Button、Canvas、Checkbutton、Entry、Frame、LabelFrame、Listbox、Menu、Menubutton、Message、OptionMenu、 PaneWindow、Radiobutton、Scale、Scrollbar、Spinbox、Text、Bitmap、Image。 

 ************组件的使用*********** 

 1.各个组件都有相应的类,我们可以通过面向对象的方式去使用它们。  

2.这些组件的使用也很相似,在实例化这些组件的时候,第一个参数都是父窗口或者父组件,后面跟着的就是该组件的一些属性,比如上面我们学到的Label的text属性和background属性。  

3.多个组件的位置控制方式也很相似,我们可以用pack方法来进行简单的布局,具体的个例我们后面再说。 

4.组件也会有些方法是共用的,比如configure方法来设置属性等等。  

****************按钮****************  

1.按钮也是非常重要的组件,在我的第一版教程的时候,就特别重视它,没错,按钮的重要性在于它可以执行相应的功能。  

2.按钮的英文表述是“button”,它随处可见,当我们单击的时候,它可以执行相应的功能。

3.按钮在tkinter中有一个类专门负责它,叫做“Button”,该类也非常简短。


*************按钮与功能的绑定**************

 1.上文说到,按钮可以执行相应的功能,这里的功能我们可以理解为一个函数,或者这些功能通过相应的函数去实现。  

2.绑定方式通常有如下几种:第一种,在按钮组件被声明的时候用command属性声明,command属性接受一个函数名,注意函数名不要加双引号。第二种,使用bind方法,该方法是Misc这个类的一个方法,下面我们仔细讲解。 

*********第一种方法绑定事件**************  

1.我们要完成的功能是我们按下这个按钮的时候,就会在窗口上增加一个Label,它显示“我爱python”。 

2.代码示例:


3.功能说明(一开始是只有一个按钮的,我点击一下,就会在这个窗口上多一个标签,点击了三次之后,便会显示3个I love python.

------这里的xinlabel函数中用了全局变量root,需要注意,否则无法使用。


***********第二种方式绑定事件***************

下面用第二种方法绑定事件,完成同样的操作


结果与上面是一样的。


1.使用bind函数的时候,第二个参数是一个函数名,该函数必须接受一个参数,即表示该事件。

2.我通常习惯用event来表示,如果我们调用的函数不接受任何参数,则会报错如下:TypeError: xinlabel() takes no arguments (1 given)。 


***********设置属性*****************  

1.下面我们可以设置一些属性,这些东西的学习不用过于心急,随着我的大量的代码示例,大家会接触不少的。 

2.比如我们可以设置背景色,这里直接设置属性,代码截图:







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值