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.