栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

PyQt5的基本配置与测试

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PyQt5的基本配置与测试

PyQt5的基本配置与测试
  • 一、安装
  • 二、配置
    • 2.1 配置 QtDisigner
    • 2.2 配置PyUIC
    • 2.3 配置PyRCC
  • 三、测试程序
    • 3.1 新建UI
    • 3.2 加载UI的两种方式
    • 3.3 uic.loadUi()方式直接加载.ui文件
    • 3.4 pyuic5方式需要将.ui文件转为.py文件
  • 四、结果
  • 参考

一、安装

PyCharm
Python 3.9.6路径:D:softwarepythonpython.exe

项目路径:D:pyQt5
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pyqt5-tools

二、配置 2.1 配置 QtDisigner

QtDisigner用于搭建界面。
在PyCharm中依次单击 File – Settings – Tools – External Tools,点击 + Create Tool,配置如下:
Name:QtDisigner
Program:D:pyQt5venvLibsite-packagesqt5_applicationsQtbindesigner.exe
Working directory:$FileDir$

2.2 配置PyUIC

PyUIC用于将Qt Designer生成的.ui文件换成.py文件。同上,配置如下:
Name: PyUIC
Program:D:softwarepythonpython.exe #当前python的路径
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
Working directory:$FileDir$

2.3 配置PyRCC

PyRCC用于将编写的.qrc资源文件换成.py文件。同上,配置如下:
Name:PyRCC
Program:D:pyQt5venvScriptspyrcc5.exe
Arguments:$FileName$ -o $FileNameWithoutExtension$_rc.py
Working directory:$FileDir$

三、测试程序 3.1 新建UI

(1)双击 D:pyQt5venvLibsite-packagesqt5_applicationsQtbindesigner.exe,选择Widget,创建。保存到 D:pyQt5HanziPinyin.ui

(2)测试程序主要实现将汉字转为拼音,控件包括2个QLabel、1个QLineEdit(lineEditHanzi,输入汉字)、1个QTextEdit(textEditPinyin,显示转换结果)和2个QPushButton(pushButtonClear,清除输入和输出;pushButtonConvert,转换),UI如下

3.2 加载UI的两种方式

加载UI有两种方式:uic.loadUi()和pyuic5,详见参考[2]。
分享给有需要的人,代码质量勿喷

3.3 uic.loadUi()方式直接加载.ui文件

新建 test1.py

import sys
from PyQt5 import uic
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication
from xpinyin import Pinyin


# 函数:汉字转换为拼音
def ConvertToPinyin(self):
    hanzi = win.lineEditHanzi.text()
    p = Pinyin() # 实例拼音转换对象
    pinyin1 = p.get_pinyin(hanzi, tone_marks='marks')# 进行拼音转换
    pinyin2 = p.get_pinyin(hanzi, tone_marks='numbers')
    pinyin = pinyin1 +'n'+ pinyin2
    win.textEditPinyin.setText(pinyin)

# 函数:清除
def ClearHanzi(self):
    win.lineEditHanzi.clear()
    win.textEditPinyin.clear()


if __name__ =='__main__':
    QApplication.setStyle("fusion") # UI风格
    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling) # 适用高分屏
    app = QApplication(sys.argv)

    # uic.loadUi()
    win = uic.loadUi('HanziPinyin.ui')

    # 信号与槽函数
    win.pushButtonConvert.clicked.connect(ConvertToPinyin)
    win.pushButtonClear.clicked.connect(ClearHanzi)

    # 显示与退出
    win.show()
    app.exec()
3.4 pyuic5方式需要将.ui文件转为.py文件

(1)在Terminal中输入:pyuic5 HanziPinyin.ui -o HanziPinyin.py
HanziPinyin.ui文件转为对应的HanziPinyin.py文件。HanziPinyin.py包含了HanziPinyin.ui的基本信息。
(2)新建 test2.py
相比于参考[1],将信号槽函数直接写在 test2.py,这样不需要修改 由.ui转换得到的.py文件

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication,QWidget
from xpinyin import Pinyin
import HanziPinyin


class LaunchDialog(QWidget):
    # 槽函数:汉字转换为拼音
    def ConvertToPinyin(self):
        hanzi = self.ui.lineEditHanzi.text()
        p = Pinyin()  # 实例拼音转换对象
        pinyin1 = p.get_pinyin(hanzi, tone_marks='marks')  # 进行拼音转换
        pinyin2 = p.get_pinyin(hanzi, tone_marks='numbers')
        pinyin = pinyin1 + 'n' + pinyin2
        self.ui.textEditPinyin.setText(pinyin)

    # 槽函数:清除
    def ClearHanzi(self):
        self.ui.lineEditHanzi.clear()
        self.ui.textEditPinyin.clear()

    def __init__(self, parent =None):
        super(QWidget,self).__init__(parent)
        self.ui = HanziPinyin.Ui_Form() # import HanziPinyin
        self.ui.setupUi(self)

        #信号 槽函数
        self.ui.pushButtonConvert.clicked.connect(self.ConvertToPinyin)
        self.ui.pushButtonClear.clicked.connect(self.ClearHanzi)


if __name__ =='__main__':
    QApplication.setStyle("fusion")  # UI风格
    QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)  # 适用高分屏
    app = QApplication(sys.argv)

    # 启动
    dlg = LaunchDialog()

    # 显示与退出
    dlg.show()
    sys.exit(app.exec_())
四、结果

参考

[1] 干货 | 一文详解Python图形界面框架:PyQt5
[2] pyqt 加载ui的两种方法pyuic5与uic.loadUi(动态加载ui)的优缺点

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/863843.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号