代码下载在最下面
#开发环境安装#
本示例在Windows11下, 使用VSCode开发, Python 3.12.2, Qt Designer 5.11
VSCode插件Python、Python Debugger、PYQT Integration、Pylance
(准备) VSCode自行官网下载 Visual Studio Code - Code Editing. Redefined
(准备) Python 直接上官网下载安装 Download Python | Python.org
(准备) Qt Designer 5.11安装包 可以自行下载或以下百度下载
链接:https://pan.baidu.com/s/10J34p7YPC9ivtJoD5-JAtQ
提取码:3t2t
VSCode插件如下:
安装pip:
基本是可以忽略的,python新版都自动安装了pip,注意一下“配置环境-->>Python环境变量”中 是否已经配置了.否则基本是运行不了python和pip的,还有第10的建议
-
首先确保已经正确地安装了Python。如果没有安装Python,需要先从官网(https://www.python.org/)上下载并安装最新版本的Python。
-
打开命令提示符或者终端窗口。
-
输入以下命令来检查当前系统中是否已经存在pip:
pip --version
。如果显示类似于"pip x.x.x from ... (python x.x)"的信息,则表示pip已经安装好了。 -
如果未能成功运行第三步的命令,说明还没有安装pip
-
访问 https://bootstrap.pypa.io/get-pip.py 这个URL,将其内容复制到文件中,然后保存为
get-pip.py
。 -
使用命令提示符或终端窗口导航到保存了
get-pip.py
文件的目录。 -
运行以下命令来安装pip:
python get-pip.py
。等待安装完成。 -
安装完成后,再次运行
pip --version
命令来验证pip是否成功安装。应该会显示pip的版本号。 -
现在就可以通过pip来管理Python包了。比如,可以使用
pip install package_name
命令来安装特定的Python包。 -
最后建议:在终端输入 更新一下pip的版本
python -m pip install --upgrade pip
安装QT
我用的是PyQt5,安装命令在终端运行, 直接安装很慢,可以加入阿里镜像
pip install PyQt5 -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
再次安装PyQt5-tools,安装命令在终端运行, 安装后很大程度会报一些异常错误,没管它,后面还是是可以正常使用
pip install PyQt5-tools -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
#配置环境#
Python环境变量
Windows下需要配置检查一下Python的环境变量是否有了,我的电脑 右键 -》属性-》高级系统设置-》环境变量,找到“系统变量”中的“Path” 加入Python的安装路径和Scripts的路径
VSCode插件PYQT Integration配置
打开VSCode 扩展, 找到前面安装好的 PYQT, 点开设置->扩展设置
第3处,注意是设置 Pyuic:Cmd 和 Qtdesigner:Path 的路径 (记得都要加入.exe可运行文件)
Pyuic:Cmd 的安装路径在Python安装目录Scripts下,
Qtdesigner:Path的安装路径就是签名百度盘下载过来自行安装的位置
到处如果都没有什么问题, 那么就可动手码代码了.
#创建UI代码, PYQT和Qt Designer的使用#
代码目录结构如下:
1、安装以上的各种后,配置好插件PYQT,在VSCode项目区 空白处右键,可以出现下图“PYQT:New Form” 这个可以直接打开前面配置的Qt Designer进行页面创建
2、如果在已经创建好的.ui文件上右键可以出现 New ...(新建窗口), Preview ...(预览窗口), Edit...(编辑窗口), Compile...(生成Python代码UI类--常用)
每次使用Qt Designer编辑后都运行一下 Compile重新生成py UI类, 另外记得Qt Designer用完关闭一下,要不下次总会提示重新打开, 不小心就把上次的编辑给覆盖了
#上示例代码了#
直接上个代码了,UI的代码都是PYQT结合Qt Designer创建窗口,自动生成的,就不上了
启动类 Main.py
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog
from Ui_frmMain import Ui_FrmMainWindow # 导入主窗口类
from frmTestDialog import frmTestDialog
class MyMainWindow(QMainWindow):
def __init__(self, parent=None):
super().__init__(parent)
# 实例化对话框类
self.ui = Ui_FrmMainWindow()
self.ui.setupUi(self)
self.ui.btnLogin.clicked.connect(self.handleLogin)
self.ui.btnExit.clicked.connect(self.handleExit)
self.ui.btnTShowDialog.clicked.connect(self.handleShowDialog)
self.ui.txtUser.setFocus()
def handleLogin(self):
user = self.ui.txtUser.text()
pwd = self.ui.txtPass.text()
print(f'按钮被点击了 用户名:{user},密码:{pwd}')
def handleExit(self):
print('退出了')
self.close()
def handleShowDialog(self):
dialog = frmTestDialog()
result = dialog.exec_()
if result == QDialog.Accepted:
print('用户同意了')
else:
print('用户拒绝了')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyMainWindow()
window.show()
sys.exit(app.exec_())
Dialog窗口 frmTestDialog.py
from PyQt5.QtWidgets import QDialog
from Ui_test_dialog import Ui_testDialog # 导入对话框类
class frmTestDialog(QDialog):
def __init__(self):
super().__init__()
# 实例化对话框类
self.ui = Ui_testDialog()
self.ui.setupUi(self)