PyQt5+pycharm开发环境搭建

x33g5p2x  于2021-12-06 转载在 其他  
字(1.8k)|赞(0)|评价(0)|浏览(338)

安装pyqt5环境:

一、 pycharm环境准备

1. 在Pycharm中点击 “file”—>“Settings” 选项

2. 在弹出的界面上点击 “Tools” —> “External Tools”

3. 点击 “+” 弹出Create Tool界面,按照如下方式设置 QtDesigner :

Name:QtDesigner
Program:designer.exe所在的路径
Working directory:$ProjectFileDir$

4. 点击 “+” 弹出Create Tool界面,按照如下方式设置 PyUIC:

Name:PyUIC
Program填入python.exe的路径
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$

5. 点击 “+” 弹出Create Tool界面,按照如下方式设置 PyRCC:

Name:PyRCC
Program填入python.exe的路径
Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory:$FileDir$

二、 编写界面并运行

1. 启动qt designer,设计界面

上述设置完之后在菜单栏中的 “Tools” 中会出现 External Tools 选项,点击 Qtdesigner 弹出设计界面。

选择其中一个选项,点击 “创建”,这里创建了三个 按钮 和 三个 下拉框用来测试。创建完后,点击 保存

2. 编译ui文件

选择新生成的 test.ui 文件, 右击选择 “External Tools” 中的 “PyUIC”,生成相应的 test.py 文件。

3. 运行界面

新创建一个 py 文件,将下面的代码复制到在这个文件中,点击运行,即可弹出设计的界面。

import sys
import test
from PyQt5.QtWidgets import QApplication, QDialog

if __name__ == '__main__':
    myapp = QApplication(sys.argv)
    myDlg = QDialog()
    myUI = test.Ui_Form()
    myUI.setupUi(myDlg)
    myDlg.show()
    sys.exit(myapp.exec_())

三、 给生成的按钮实现弹窗功能

比如说我们要给其中一个按钮实现一个 点击弹窗的功能, 具体做法是,先自定义一个新的类myWindow,该类继承自QtWidgets.Qwidget类方法和Ui_Dialog界面类,在 __ init __ 函数里面定义初始化的信息。

import sys
from test import Ui_Form
from PyQt5.QtWidgets import QApplication, QDialog, QWidget
from PyQt5 import QtCore

# 子窗口类
class Child(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("我是子窗口啊")

# 该类继承QtWidgets.Qwidget类方法和Ui_Dialog界面类
class myWindow(QWidget, Ui_Form):
    _signal = QtCore.pyqtSignal(str)

    def __init__(self):
        super(myWindow, self).__init__()
        self.setupUi(self)
        # 连接到定义的槽函数
        self.pushButton.clicked.connect(self.popUpBox)

    # 定义一个槽函数用来弹出子窗口
    def popUpBox(self):
        self.child_window = Child()
        self.child_window.show()

if __name__ == '__main__':
    myapp = QApplication(sys.argv)
    myDlg = myWindow()
    # myUI = myDlg.Ui_Form()
    # myUI.setupUi(myDlg)
    myDlg.show()
    sys.exit(myapp.exec_())

效果如下,点击测试按钮1,弹出窗口界面。

相关文章