PyQt5+pycharm开发环境搭建

安装pyqt5环境:

pip install PyQt5
pip install PyQt5-tools

一、 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填入pyrcc5.exe的路径
Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory:$FileDir$
在这里插入图片描述

二、 编写界面并运行

1. 启动qt designer,设计界面

上述设置完之后在菜单栏中的 “Tools” 中会出现 External Tools 选项,点击 Qtdesigner 弹出设计界面。
在这里插入图片描述
在这里插入图片描述
选择其中一个选项,点击 “创建”,这里创建了三个 按钮 和 三个 下拉框用来测试。创建完后,点击 保存
在这里插入图片描述

扫描二维码关注公众号,回复: 14878045 查看本文章

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,弹出窗口界面。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/luanfenlian0992/article/details/121507350