python的部分GUI模块简介tkinter、pyqt5(Qt Designer)
笔者认为,这两个作为Python3较为常用且简单的GUI模块,是Python开发者所必须学习至少是了解的。
其中tkinter为Python3自带的GUI模块,而pyqt5则需要通过pip install pyqt5来下载,并下载相应的图形化编辑工具Qt Designer。
安装第三方包时遇到问题可以访问笔者的原创博客来解决:https://www.cnblogs.com/-X-peng/p/13746579.html
一、tkinter简介:
(此部分内容摘自:https://blog.csdn.net/gongqingkui/article/details/86105399)
1.1、注意
2.x版本下名为Tkinter,3.X下名为tkinter,注意首字母大小写不一样
最简单界面
Import tkinter as tk
Root = tk.Tk()
Tk.mainloop()
1.2、组件
Label l1 = tk.Label(root,text=’xxx’)第一个参数是Tk()对象,然后l1.pack()布局就行啦。
核心组件Toplevel,Label,Button,Canvas,Checkbutton,Entry,Frame,LabelFrame,Listbox,Menu,Menubutton,Message,OptionMenu,PaneWindow,Radiobutton,Scale,Scrollbar,Spinbox,Text,Bitmap,Image
Button绑定函数
Command=函数名
Button1.bind(‘<Button-1>’,函数名)
具体属性参考源码
注意,组件的variable或者textvariable 挂钩tk内置的变量即:
Pic_dir = StringVar() Entry(root,textvariable=pic_dic).pack()
内置变量有方法set 和get,用法可想而知
Radiobutton公用一个variable,value不同。Checkbutton用variable的变量是tk变量数组list。
其他常用组件
Messagebox 弹出消息框之类 .askokcancel(title,note)
Filedialog.askdirectory() 弹出目录选择窗口,返回目录名
1.3、布局
布局三种方法,pack grid place,同级只能用一种方法,可以用Frame破解规定
Pace 向下居中分部,有属性side = tk.LEFT,fill = tk.X tk.BOTH,anchor属性N,NE,E,SE,S,SW,W,NW,CENTER九个不同的值。
Grid 网格布局 row column 属性,从0开始
Place绝对值
1.4、菜单
Menubar = tk.Menu(root)
For i in ls:
Menubar.add_command(label=’xxx’,command=aaa’
Root[‘menu’]=menubar
子目录的话,再附加
Fmenu = tk.Menu(menubar)
Menubar.add_cascade(label=’文件’,menu=fmenu)
二、pyqt5简介
PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。PyQt是由Phil Thompson 开发。
PyQt实现了一个Python模块集。它有超过300类,将近6000个函数和方法。它是一个多平台的工具包,可以运行在所有主要操作系统上,包括UNIX,Windows和Mac。
PyQt采用双许可证,开发人员可以选择GPL和商业许可。在此之前,GPL的版本只能用在Unix上,从PyQt的版本4开始,GPL许可证可用于所有支持的平台。
访问此网站学习了解:https://www.jianshu.com/p/c61fc80ad6b3
(注意前提工作是将Qt designer与pycharm关联配置好)