PyCharm配置PyQt5附Demo示例

本文介绍如何使用PyQt5创建GUI应用,包括配置pyuic5、designer及pyrcc工具,通过示例演示从UI文件生成Python代码并实现简单的窗口应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下教程在windows系统上进行演示,其他系统操作类似。

一、配置pyuic5、designer、pyrcc教程

提前安装好以下软件:

pip install PyQt5 -i https://pypi.douban.com/simple
pip install PyQt5-tools -i https://pypi.douban.com/simple
  • 配置designer:
    在这里插入图片描述
    下图需要使用到的参数:
$FileDir$

在这里插入图片描述

  • 配置pyuic5:
    在这里插入图片描述
    下图需要使用到的参数:
$FileName$
-o
Ui_$FileNameWithoutExtension$.py
$FileDir$

在这里插入图片描述

  • 配置pyrcc5:
    在这里插入图片描述
    下图需要使用到的参数:
$FileName$ -o Rc_$FileNameWithoutExtension$.py
$FileDir$

在这里插入图片描述

二、Demo程序

代码目录结构:
在这里插入图片描述
文件:src/ui/TestWindow.ui

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>TestWindow</class>
 <widget class="QMainWindow" name="TestWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>234</width>
    <height>217</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <widget class="QLineEdit" name="text">
    <property name="geometry">
     <rect>
      <x>30</x>
      <y>50</y>
      <width>181</width>
      <height>41</height>
     </rect>
    </property>
    <property name="placeholderText">
     <string>点击按钮,显示按钮内容</string>
    </property>
   </widget>
   <widget class="QPushButton" name="btn">
    <property name="geometry">
     <rect>
      <x>30</x>
      <y>160</y>
      <width>181</width>
      <height>41</height>
     </rect>
    </property>
    <property name="text">
     <string>按钮</string>
    </property>
   </widget>
  </widget>
 </widget>
 <resources/>
 <connections/>
</ui>

文件:src/ui/Ui_TestWindow.py

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'TestWindow.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_TestWindow(object):
    def setupUi(self, TestWindow):
        TestWindow.setObjectName("TestWindow")
        TestWindow.resize(234, 217)
        self.centralwidget = QtWidgets.QWidget(TestWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.text = QtWidgets.QLineEdit(self.centralwidget)
        self.text.setGeometry(QtCore.QRect(30, 50, 181, 41))
        self.text.setObjectName("text")
        self.btn = QtWidgets.QPushButton(self.centralwidget)
        self.btn.setGeometry(QtCore.QRect(30, 160, 181, 41))
        self.btn.setObjectName("btn")
        TestWindow.setCentralWidget(self.centralwidget)

        self.retranslateUi(TestWindow)
        QtCore.QMetaObject.connectSlotsByName(TestWindow)

    def retranslateUi(self, TestWindow):
        _translate = QtCore.QCoreApplication.translate
        TestWindow.setWindowTitle(_translate("TestWindow", "MainWindow"))
        self.text.setPlaceholderText(_translate("TestWindow", "点击按钮,显示按钮内容"))
        self.btn.setText(_translate("TestWindow", "按钮"))

文件:src/window/TestWindow.py

from PyQt5.QtWidgets import QMainWindow
from src.ui.Ui_TestWindow import Ui_TestWindow


class TestWindow(QMainWindow, Ui_TestWindow):
    def __init__(self) -> None:
        super().__init__()
        self.setupUi(self)
        self.setupEvent()

    def setupEvent(self):
        self.btn.clicked.connect(self.textChange)
        self.btn.clicked.connect(self.textChange)

    def textChange(self):
        self.text.setText('helloWorld')
        

文件:src/mian.py

from src.window.TestWindow import TestWindow
from PyQt5 import QtWidgets
import sys

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    window = TestWindow()
    window.show()
    sys.exit(app.exec_())

免责声明:本人博客所有文章纯属学习之用,不涉及商业利益。不合适引用,自当删除!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值