pyqt5 c3

gui, graphical user interface

pyqt是qt为python专门提供的gui拓展,每一个pyqt控件都有其对应的qt控件

qt和pyqt的设计都是完全面向对象的

pyqt5在程序需要时才释放gil,pyqt4时执行完程序后强制释放gil

安装

pip install PyQt5 -i 镜像网站

pip install PyQt5-tools

设置环境变量

将help内容保存到txt

import sys
from PyQt5.QtWidgets import QWidget

out = sys.stdout    #<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>  >>> type(out) <class '_io.TextIOWrapper'>
sys.stdout = open(r'D:\QWidget.txt' , 'w')      #open以后,与cmd交互所返回的内容都会出现在缓冲区,而不会出现在cmd界面
help( QWidget  )      #help查询返回的所有内容会被写入缓冲区,此时看txt的大小还是0KB
sys.stdout.close()      #close以后,缓冲区的数据才会写入txt
sys.stdout = out        #将最初的<class '_io.TextIOWrapper'>还给sys.stdout,否则再次调用sys.stdout会报错

在线文档Qt for Python Documentation — Qt for Python


 安装eric6


C3 Qt Designer

designer.exe的位置在Python37\Lib\site-packages\QtDesigner

python 3.x - pyqt5-tools: designer.exe missing - Stack Overflow

pyqt5-tools · PyPI

As of pyqt5-tools v3 the package has been broken down into four pieces. The wrappers remain here but the plugins are located in pyqt5-plugins, some Qt application helpers in qt5-tools, and the applications are in qt5-applications.

main window主窗口,widget通用窗口

ctrl+r 预览

pyuic5 -o firstMainWin.py firstMainWin.ui

界面文件 与 逻辑文件 的分离

布局

快捷键ctrl+1 ctrl+2 等

层次:主窗口(main window或 widget)-> 布局(layout) -> 控件

container布局的本质还是用layout

绝对布局用geometry。 使用layout进行布局后,geometry将变灰不可用

插入Spacer表示layout之间不要彼此挨着 或 尽可能远离,以确保视觉效果。

可以用·Horizontal Line把主观认为不同类别的控件分开,以确保视觉效果。

minimumSize 和 maximumSize设置控件的最小最大尺寸

每个属性的右上侧有 还原默认 的按钮

sizePolicy

sizeHint指 控制的期望尺寸

 可以设置各控件的伸展比例

开发流程

P92

设置伙伴(alt+键盘,光标快速定位到某个控件)

text+&,然后edit->编辑伙伴

不是所有控件都能设置伙伴

text是中文的控件无法设置

tab次序

edit

信号与槽

一般有三种方法:

可以edit->编辑信号与槽,直接控件连控件

但容易出现失误,这时可以在右下角窗口调整

界面文件.py直接写

eric的”生成对话框代码“生成的逻辑文件.py,改写

菜单栏

一级菜单,加&,即可用alt+快捷访问。(依然只支持英文)

子菜单,要在右下角 动作编辑器 或 属性编辑器的shortcut,设置快捷键

工具栏

右键->添加工具栏 后,得到菜单栏下面 空白的一行。

需要在右下角 动作编辑器 添加新动作,然后再把新动作拖进空白的工具栏行。

状态栏

会自动添加。 可以右键,移除

其他功能

designer自带的槽 只有少量功能,要实现 打开文件、打开子窗口等功能需要在 逻辑文件 自行添加。

打包资源文件

引用图片 有两种方法:

将资源文件 转换位python文件。        可以用designer实现

具体比较繁琐:见P116

eric->new resource 得到开发目录下的apprcc.qrc

designer->右下角 资源浏览器->选中apprcc.qrc->创建一个前缀->再在前缀里添加 资源


然后还要把 图片资源 添加到控件里:更改如label控件的pixmap属性


最后,把.qrc转换为.py文件

pyrcc5 apprcc.qrc -o apprcc_rc.py

code里路径引用

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值