Pyqt5和QT5
拖拽式布局
添加QT Designer、PyUIc、Pyrcc
1.添加外部工具(Extenal Tools)
QT Designer
File–>Settings–>Tools–>Extenal Tools --> ‘’+’’ > 添加具体细节,如图一图二

图一

图二
修改Name为QT Designer,Program为QT目录下designer.exe文件,不需要参数,Work directory为D:\QT\{QT version}\msvc2015_64\bin

添加后就可以在菜单栏的Tools中找到…点击后,就可以直接打开QT Designer设计窗口

QT Designer

QT UIC
1.Program设置为当前虚拟环境的python解释器python.exe,(一旦设置好后,每次新建虚拟环境,pycharm会自动帮你修改选择的解释器)

2.▲.Arguments参数设置为:
1 | -m |
这个参数主要是用uic这个工具需要指定的参数
3.working directory设置为$FileDir$(当前文件目录)===>含义是:根据.UI生成的py窗口文件的位置
完成后,效果如图…一开始是没有window.py

将光标选择window.ui文件,然后选择Tools里面的PyUIC就可以自动生成一个window.py文件直接使用了.
控制台输出内容:
1 | G:\PyGui\venv\Scripts\python.exe -m PyQt5.uic.pyuic window.ui -o window.py |

QT Rcc
1.将program设置为QT目录下的rcc.exe文件

2.设置Arguments为
1 | $FileName$ |
道理同上-o 是输出的意思
3.work directory设置为$FileDir$
4.新建.qrc资源文件
打开QT Designer选择下面的资源管理器,单击铅笔,如图操作

单击左边蓝色的存储后,意思是指定.qrc文件存储位置

选择好以后,再操作右边的选择卡,填好前缀,然后点击蓝色的按键,选择要添加的资源文件(如图片什么的)

此时打开.qrc文件就可以看到他指定了哪些资源文件

上述步骤完成后就可以使用rcc工具将.qrc文件转换成.py的资源文件使用了

光标选择.qrc资源后,选择Pyrcc后就会生成相应的py文件

需要用到图片时,直接导入图片的.py文件即可
1 | [mainwindow.py] |
1 | [main.py] |
1 | import sys |
1 | 启动窗口的run()函数 |
槽函数.py
1 | from PyQt5 import QtWidgets |
一个bottom最好只对应一个槽函数。
信号与槽连接函数:
1 | self.pushButton_2.clicked.connect(Ui_MainWindow.pint) |
QMessageBox:
information
question
warning
critial
about
aboutQT
用户输入对话框:
1 | my_choice = QInputDialog.getText(self,'字符串','请在此处输入',QLineEdit.Normal,'...') |
加载界面设计:
1 | if __name__ == '__main__': |
转化.qrc资源文件为py文件:
1 | CMD: pyrcc5 -o picture.py picture.qrc |
菜单栏
1 | class MyWindow(QtWidgets.QMainWindow,hello.Ui_MainWindow): |
类中再定义函数时,定义和调用应为:
1 | self.mostphoto(file_path)#调用 |
弹出对话框:
1 | my_info = Dialog() |
QApplication类代表应用程序,在每个程序中只能有一个它的实例。在有图形界面的程序中必须有一个QApplication类的实例,并且必须在所有窗口类的实例生成之前生成。它最主要的功能是实现主事件循环。在主事件循环内,窗口才可以相应消息,并对事件做出处理。QApplication类的exec方法代表启动主事件循环.在主事件循环内,窗口才可以响应消息,并对事件做出处理。QApplication类的exec方法代表启动主事件循环,这个函数在正常运行时不会返回,只有当主事件循环退出时才返回,通常这也就意味着整个程序要退出。
QApplication类的构造函数接受与main函数相同的参数,它也能够处理执行程序时的命令行参数。这里的参数传递是必需的,因为在执行程序时要用到QApplication类才能识别的-qws参数。
本文来自 Tyrion-Lannister 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/HMSIWTV/article/details/7533524?utm_source=copy

Author: Mrli
Link: https://nymrli.top/2018/11/26/pyqt与QT5/
Copyright: All articles in this blog are licensed under CC BY-NC-SA 3.0 unless stating additionally.