Python实现桌面程序:PyQt5 + QtDesigner -- 界面设计与逻辑编写

发布时间:2023-02-17 09:00

       Python,入门简单,上手快,所以如果有初学者想要用 Python 写一个简单的QT风格桌面程序,可以参照本博客。

       这篇博客是针对 完全不懂python 却还想要写一个界面程序的小白的(Windows系统)。步骤内容很多,简略写,没有耐心仔细总结了,直接搬运一部分。

Python基础教程

Python3 教程 | 菜鸟教程

       既然是针对小白,当然先放入门教程,主要学习一下import、基本语法、基本数据类型、类型转换原理和操作、解释器、注释、列表、变量(创建、赋值、运算、生命周期)、判断、循环、函数、实例化、输入输出等。

Python安装

       1、建议安装python3.6.3,3.6比较稳定,兼容性好

官网:Python Release Python 3.6.3 | Python.org

       2、或者安装anaconda后用虚拟环境Anaconda使用conda连接网络时,出现网络错误CondaHTTPError(包括Anaconda安装与入门)__天涯__的博客-CSDN博客_conda 网络错误

       3、或者选择在线运行测试脚本,不推荐

Python3 在线工具 | 菜鸟工具

       4、可以再安装个PyCharm,社区版或者教育版。

PyCharm: the Python IDE for Professional Developers by JetBrains

PyQt5安装

       用pip命令安装,首先,更新下pip,但是更新前,先把pip源换一下。

使用Python的pip方法安装第三方包时,很慢或者失败的问题__天涯__的博客-CSDN博客

# 换源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 更新pip
Python  -m pip install --upgrade pip

# 安装pyqt5
pip install pyqt5
pip install pyqt5-tools

PyCharm添加PyQt5插件

       打开pycharm  ==>  setting  ==>  tools  ==>  external tools  ==>  添加

       选择 designer.exe 的位置,一般在 ...Python3\\Lib\\site-packages\\pyqt5_tools\\Qt\\bin ,或者在 ...Python3\\Lib\\site-packages\\application什么的,总之在site-packages里搜一下 designer.exe 就行。

打开QtDesigner设计界面

       打开qt后新建main window,拖拽设计界面,比如标签框、文本输入框、按钮、文本展示框,最后保存为.ui文件。

生成ui的py文件

       安装pyuic5,将01.ui文件编译生成qt_ui_01.py文件

pyuic5 -o .../.././qt_ui_01.py 01.ui # pyuic5在安装qt时已安装

写控制逻辑

       新建qt_ctrl_01.py文件,在其中 import qt_ui_01

from PyQt5.QtWidgets import QApplication,QMainWindow,QFileDialog
import sys
import test # UI文件

class MainCode(QMainWindow,test.Ui_MainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        test.Ui_MainWindow.__init__(self)
        self.setupUi(self)

        # 给 pushButton1 这个控件加上点击事件的响应函数add2int
        self.pushButton1.clicked.connect(self.add2int)
        

    def add2int(self):
        a = self.lineEdit1.text() # 获得lineEdit1输入框的内容
        b = self.lineEdit2.text() # 获得lineEdit2输入框的内容
        c = int(a) + int(b)
        self.textBroswer1.append(str(c)) # 在底部文本显示框显示 须为字符串

if __name__==\'__main__\':
    app=QApplication(sys.argv)
    md=MainCode()
    md.show()
    sys.exit(app.exec_())

OK !

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号