pyqt5-开始
1、介绍
pyqt是python的一个用于GUI开发的主流第三方模块,底层兼容Qt。
- 支持多种常用组件,并且具有很好的默认显示效果
- QtDesigner支持图形化直接设计ui,大大减轻工作,得到更好的效果
- 使用范围广,网络上有很多的中文文档和问答,方便开发
- 支持pyqthon3语法,目前是pyqt5版本
2、比较其它GUI模块
- tkinter是python默认的GUI库,兼容性很好,但是显示效果一般,组件也较少
- pyside,第三方GUI库,已经停止更新。其和pyqt具有很类似的语法,大多数组件类的名称也一致,还都具有designer工具,可通用
3、安装和使用
(1)快速安装和使用
import sys
from PyQt5.QtWidgets import QApplication, QWidget
pycharm中,直接写代码引用pyqt5模块,如果还未安装,鼠标放到模块名上,根据提示选择install即可。
(2)pip搜索安装
pyqt5
(3)设置pycharm的编码
这实际应该是初始化python新的工作空间时就应该去设置完成的。而如果没有进行设置,qtdesigner中无法使用中文,加载之后会乱码
4、源码阅读
通过编程,读取源码文件中的注释部分,快速梳理有哪些方法,以及基本使用。
path = r'xxxxx\PyQt5\QtWidgets\QMainWindow.py'
with open(path, 'r') as f:
lines = f.readlines()
# 正常
normal_list = list()
# 信号
signal_list = list()
# 事件
event_list = list()
i = 0
while i < len(lines):
line = lines[i].strip()
# 注释,多行注释
if line == '"""':
i = i + 1
while lines[i].strip() != '"""':
if '[signal]' in line:
signal_list.append(lines[i].strip())
elif 'vent' in line:
event_list.append(lines[i].strip())
else:
normal_list.append(lines[i].strip())
i = i + 1
# 注释,单行注释
elif line.startswith('"""'):
line = line[3:-3].strip()
if '[signal]' in line:
signal_list.append(line)
elif 'vent' in line:
event_list.append(line)
else:
normal_list.append(line)
i = i + 1
for item in normal_list:
print(item)
print("---------------")
for item in event_list:
print(item)
print("---------------")
for item in signal_list:
print(item)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战