深圳制作网站培训,公司网站设计怎么做,iis搭建网站怎么做前端,手机前端开发软件工具一、为何使用Tkinter而非PyQt众所周知#xff0c;在Python中创建图形界面程序有很多种的选择#xff0c;其中PyQt和wxPython都是很热门的模块包#xff0c;这些第三方的图形界面模块功能强大、配置丰富#xff0c;界面美观#xff0c;是很多人的选择。州的先生也经常使用P…一、为何使用Tkinter而非PyQt众所周知在Python中创建图形界面程序有很多种的选择其中PyQt和wxPython都是很热门的模块包这些第三方的图形界面模块功能强大、配置丰富界面美观是很多人的选择。州的先生也经常使用PyQt5来为Python程序写上图形界面以方便程序的使用。而今天我们要介绍的是Python内置的一个图形界面模块——tkinter。在网络上有很多抱怨Tkinter模块的言论比如界面丑、不灵活、扩展功能差、模块少……等等诚然Tkinter确实有这些毛病或者说是缺点但是它也并非是一无是处。Tkinter最大的优势在于其是Python的内置模块仅仅是这一点就可以带来很多优点。由于是内置模块所以不需要进行额外的安装这也就避免了很多刚刚接触的小伙伴可以顺利地开始import而非各种pip安装失败或者是到处找各种版本可行的安装包(PyQt5就有很多这样的情况)。同时因为其内置模块的属性使得其在程序打包为EXE或其他可执行文件的时候打包出来的程序文件不会特别的大,这样对程序的传播还是很有用处的。想一想简简单单地写了一个小工具结果打包出来的文件有几十兆之大很是尴尬的。介绍了那么多下面我们开始正式学习使用Tkinter编写Python图形界面程序。二、创建一个基本的Tkinter程序导入Tkinter模块Tkinter模块的导入很简单直接使用命令import tkinter即可。同时一般约定俗成其模块名简写为tk,所以导入命令为import tkinter as tk实例化一个Tk类所有的图形界面都有一个最顶级的容器在PyQt5中有MainWindow、Widget等而在Tkinter中最常见最基础的则是Tk()类当然在程序比较大或者图形窗口比较多的时候使用Frame或Toplevel等容器部件会更加方便但是在这里我们才刚刚使用Tkinter所以就用Tk()类作为图形界面的最顶级容器import tkinter as tk root tk . Tk ()# 实例化一个Tk()主窗口设置窗口标题上一步实例化了一个Tk()类并赋值给root变量之后我们就拥有了一个TK窗口接下来我们通过它的title()方法为窗口设置标题importtkinter as tk root tk . Tk () root . title( 第一个Tkinter程序 )这样我们就将窗口的标题设置为了“第一个Tkinter程序”。运行图形界面窗口在创建了一个基本的窗口之后我们如何将这个图形界面窗口运行起来呢在PyQt5中我们可以使用窗口的show()方法来启动窗口主循环而在Tkinter中我们则可以使用窗口的mainloop()方法启动窗口的主循环使得图形界面窗口运行起来import tkinter as tk root tk . Tk () root . title( 第一个Tkinter程序) root . mainloop ()这样我们创建的图形界面窗口将在Python文件被运行是出现。其效果如下图所示创建一个按钮在上面我们创建了一个只有一个窗口的图形界面现在我们往里面再添加一些小部件比如按钮在Tkinter中按钮为tk.Button()类通过实例化这个类我们能创建一个按钮部件import tkinter as tk # 引入tkinter模块root tk . Tk () # 实例化一个TK()类btn tk . Button ( root,text 点我吧)# 实例化一个按钮类父元素为root btn . pack( padx 200 , pady 50 )# 设置按钮的大小 root . title( 第一个Tkinter程序 )# 设置图形界面标题 root . mainloop()在这里我们实例化了一个父类为root的Button()类并且设置了按钮的文本。然后通过它的pack()方法设置的按钮的长度和宽度。继续运行程序我们将会得到如下图所示的图形界面程序为按钮绑定一个命令上面创建的图形界面包含了一个窗口和一个按钮但是按钮放着有什么用呢我们可以将它绑定到一个函数来来实现点击事件的反馈。这在PyQt5中是一个很重要的概念——信号槽。而在Tkinter中也有类似的概念在接下来的文章中我们会逐步涉及到。 我们首先创建一个简单的函数用于在控制台中打印一个字符串def tell_you (): print( 州的先生Tkinter教程)然后通过按钮的config()方法为按钮配置一个命令import tkinter as tk# 引入tkinter模块 def tell_you():print ( 州的先生Tkinter教程 )root tk . Tk () # 实例化一个TK()类btn tk . Button (root,text点我吧)# 实例化一个按钮类父元素为root btn .config (command tell_you ) btn .pack ( padx 200 , pady 50 )# 设置按钮的大小 root .title ( 第一个Tkinter程序 )# 设置图形界面标题 root.mainloop()这样当我们点击按钮的时候程序就会调用tell_you()函数在控制台打印出“州的先生Tkinter教程”字符串其效果如下图所示三、模块化Tkinter程序在上面的程序中我们所有的变量都是全局变量无论是根窗口还是按钮小部件。这在程序很小的时候或许没有问题但是当我们添加的部件越来越多的时候就很不方便维护了。基于此我们可以使用面向对象的方法来重新组织我们的图形界面程序。以类和对象的方式作为图形界面窗口的组织单元。import tkinter as tkclass MainWindows ( tk . Tk ):def __init__ ( self ):super (). __init__ ()# 初始化基类 self . title( 第一个程序 ) self . ini_ui() def ini_ui ( self ): self .btn tk . Button (self,text 点我吧)self . btn . pack( padx 200 , pady 30 )self . btn . config( command self . tell_you )def tell_you ( self ): print( 州的先生Tkinter教程 )if __name__ __main__ :app MainWindows () app.mainloop()现在每一个变量都只限于MainWindows()内这样我们就将第一个Tkinter图形界面程序改造成了面对对象式。运行代码也会得到和之前一样的图形界面程序以上就是如何Tkinter模块编写Python图形界面的详细内容更多关于Python图形界面的资料请关注随便开发网其它相关文章