笔者认为,这两个作为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关联配置好)

最新文章

  1. 20170103简单解析MySQL查询优化器工作原理
  2. XP机器上WCF采用X509证书加密时IIS读取证书的授权
  3. fonts.useso.com 访问变慢
  4. javascript笔记4-函数表达式
  5. 《Prism 5.0源码走读》ModuleCatalog
  6. iOS打包ipa 让别人设备安装你的App
  7. GNU/Linux Distribution Timeline v12.10
  8. 腾讯出品的抓包工具Rythem
  9. Best practice for Invoke other scripts or exe in PowerShell
  10. Gdiplus 贴图(助记) -------------------拖动整个对话框
  11. 第十条:始终要覆盖toString()方法
  12. ES6的Proxy和Reflect
  13. .net 前端gb2312编码,后台获取参数乱码(因为表单提交的时候是utf-8编码 则在后台读取参数时会出现乱码)
  14. 虚拟机配置nginx无法访问80端口
  15. 我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比(转载)
  16. float导致出现大面积空白
  17. file相关方法
  18. (转)OpenStack各服务所用端口号总结
  19. css百分比问题——`top`、`left`、&#39;translate&#39;的百分比参照谁?
  20. 使用ReadOnlyCollection创建只读集合

热门文章

  1. springboot之启动端口指定
  2. netty学习心得2内存池
  3. netty之bootstrap
  4. CPF 入门教程 - 绘图(四)
  5. 喜大普奔!GitHub中文版帮助文档上线了!
  6. Oracle学习(十六)Oracle安装
  7. Oracle学习(五)DBLINK
  8. chrome禁止三方cookie,网站登录不了怎么办
  9. java经典算法40题-附带解决代码
  10. python3-day5