QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序

目录

一、PyQt环境搭建

1. 安装Anaconda3并创建自己的环境

(我的名ai_torch_tensorflow,python版本3.8)

2. ai_torch_tensorflow环境里安装pyqt5、pyqt5-tools 

3. 下载安装Qt(根据自己需要下载不同版本,我的是MSVC版的Qt5.14.2)

4. 安装 pycharm

5. pycharm 新建项目,设置python编译器为创建的Anaconda环境

6. 配置qtdesigner、pyuic、pyrcc工具

二、PyQt环境简单测试

1. 点击下图弹出Qt Designer进行制作,最后保存到项目文件下

 2. 点击下图将刚刚保存的01.ui转为01.py

 3. 在main中创建实例,并将01.py里生成的代码加入main并运行

三、不配置qtdesigner、pyuic、pyrcc,直接加载已有.ui方式Demo---------推荐该方式


一、PyQt环境搭建

1. 安装Anaconda3并创建自己的环境

(我的名ai_torch_tensorflow,python版本3.8)

2. ai_torch_tensorflow环境里安装pyqt5、pyqt5-tools 

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5-tools

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第1张图片

3. 下载安装Qt(根据自己需要下载不同版本,我的是MSVC版的Qt5.14.2)

4. 安装 pycharm

5. pycharm 新建项目,设置python编译器为创建的Anaconda环境

6. 配置qtdesigner、pyuic、pyrcc工具

Qt Designer 是通过拖拽的方式放置控件,并实时查看控件效果进行快速UI设计。

最终生成.ui文件(实质上是XML格式的文件),可以通过pyuic5工具转换成.py文件。

PyRCC主要是把编写的.qrc资源文件换成.py文件。

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第2张图片

 (1) qtdesigner:

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第3张图片

 (2) pyuic:QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第4张图片

 (3) pyrcc: 

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第5张图片

二、PyQt环境简单测试

1. 点击下图弹出Qt Designer进行制作,最后保存到项目文件下

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第6张图片

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第7张图片

 QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第8张图片

 2. 点击下图将刚刚保存的01.ui转为01.py

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第9张图片

 3. 在main中创建实例,并将01.py里生成的代码加入main并运行


import sys
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(400, 300)
        self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
        self.buttonBox.setGeometry(QtCore.QRect(30, 240, 341, 32))
        self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
        self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
        self.buttonBox.setObjectName("buttonBox")

        self.retranslateUi(Dialog)
        self.buttonBox.accepted.connect(Dialog.accept)
        self.buttonBox.rejected.connect(Dialog.reject)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))


if __name__ == '__main__':

# QT提供的默认基类QMainWindow、QWidget、QDialog这三种。
# QMainWindow是带有菜单栏和工具栏的主窗口
# QtWidgets是PyQt5下面的一个模块,包括了用于构建界面的一系列UI元数组件
# QApplication包括窗口系统和其他来源处理过和发送过的主事件循环,有且只有一个QApplication对象
# QDialog是各种对话框的基类,窗口部件全部继承自QWidget。(本身没有菜单栏和工具栏)

    app = QtWidgets.QApplication(sys.argv)  # 实例化一个应用对象
    MainWindow = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(MainWindow)     # 初始化窗口:吧Qt设计器设计的内容画出来,定义的信号和槽建立起来。(画界面和写程序的桥梁)
    MainWindow.setWindowTitle("666")  # 标题
    MainWindow.show()              # 显示窗口
    sys.exit(app.exec_())          # 程序循环,等待安全退出

 运行结果:

QT学习08: PyQt + Anaconda + Pycharm 第一个测试程序_第10张图片

三、不配置qtdesigner、pyuic、pyrcc,直接加载已有.ui方式Demo---------推荐该方式

(不用配置qtdesigner、pyuic、pyrcc工具等,在qtdesigner里画好.ui界面保存,在python里加载并进行信号槽操作)

import sys
from PyQt5 import QtWidgets, uic

class Index(object):
    def __init__(self):
        self.setupUi()
        self.allConnect()

    def setupUi(self):
        self.indexUi = uic.loadUi("./index.ui")         # 加载界面
        self.btn_paizhao = self.indexUi.btn_paizhao     # 获取界面中的控件

    def paizhao(self):
        print("拍照")

    def allConnect(self):
        self.btn_paizhao.clicked.connect(self.paizhao)  # 信号槽关联: 对象.信号.connect(self.槽)

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)  # 实例化一个应用对象
    ui = Index()
    ui.indexUi.show()  # 显示窗口
    sys.exit(app.exec_())  # 程序循环,等待安全退出

你可能感兴趣的:(Qt,人工智能,pyqt,qt)