Python之Qt5界面开发

【Python】界面设计——GUI编程之【PyQt5】 窗体定义 🔷GUI是人机交互的重要技术手段,在python中利用tkinter模块就可以方便的实现图形界面的实现; 🔷定义一个基础窗体: import tkinter as tk #导入相关窗体模块 root = tk.Tk() #创建一个窗体 添加各类操作…… root.mainloop() #显示窗体 🔷任何一个图形界面都会包含有一个主窗体,在主窗体内可以设置不同的组件,在tkinter模块中提供了Tk类,该类可以负责窗体的创建以及相关的属性定义; 方法 描述 . 阅读详情

1.环境配置
1.1.添加qt库
pip install pyqt5
pip install pyqt5-tools

1.2.Pycharm相关配置:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Arguments:-m PyQt5.uic.pyuic FileNameFileNameFileName -o FileNameWithoutExtensionFileNameWithoutExtensionFileNameWithoutExtension.py

在这里插入图片描述
Program:C:\Python37\Scripts\pyrcc5.exe
Arguments:FileNameFileNameFileName -oFileNameWithoutExtensionFileNameWithoutExtensionFileNameWithoutExtension_rc.py

2.使用QT界面设计
项目->External tool->Qt Designer
在这里插入图片描述
3.将ui文件转py文件,进行界面操控
选中生成的ui文件,右键-External tool->PyUIC,然后就会发现生成对应的py文件:

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

# Form implementation generated from reading ui file 'Clothes_insertData.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!
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.pushButton = QtWidgets.QPushButton(Dialog)
        self.pushButton.setGeometry(QtCore.QRect(300, 30, 75, 23))
        self.pushButton.setObjectName("pushButton")
        self.horizontalLayoutWidget = QtWidgets.QWidget(Dialog)
        self.horizontalLayoutWidget.setGeometry(QtCore.QRect(10, 20, 261, 41)) 
        self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
        self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
        self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.label = QtWidgets.QLabel(self.horizontalLayoutWidget)
        self.label.setObjectName("label")
        self.horizontalLayout.addWidget(self.label)
        self.lineEdit = QtWidgets.QLineEdit(self.horizontalLayoutWidget)
        self.lineEdit.setObjectName("lineEdit")
        self.horizontalLayout.addWidget(self.lineEdit)
        self.horizontalLayoutWidget_2 = QtWidgets.QWidget(Dialog)
        self.horizontalLayoutWidget_2.setGeometry(QtCore.QRect(10, 70, 261, 41))
        self.horizontalLayoutWidget_2.setObjectName("horizontalLayoutWidget_2")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_2)
        self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.label_2 = QtWidgets.QLabel(self.horizontalLayoutWidget_2)
        self.label_2.setObjectName("label_2")
        self.horizontalLayout_2.addWidget(self.label_2)
        self.lineEdit_2 = QtWidgets.QLineEdit(self.horizontalLayoutWidget_2)
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.horizontalLayout_2.addWidget(self.lineEdit_2)
        self.horizontalLayoutWidget_3 = QtWidgets.QWidget(Dialog)
        self.horizontalLayoutWidget_3.setGeometry(QtCore.QRect(10, 120, 261, 41))
        self.horizontalLayoutWidget_3.setObjectName("horizontalLayoutWidget_3")
        self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_3)
        self.horizontalLayout_3.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_3.setObjectName("horizontalLayout_3")
        self.label_3 = QtWidgets.QLabel(self.horizontalLayoutWidget_3)
        self.label_3.setObjectName("label_3")
        self.horizontalLayout_3.addWidget(self.label_3)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.horizontalLayoutWidget_3)
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.horizontalLayout_3.addWidget(self.lineEdit_3)
        self.horizontalLayoutWidget_4 = QtWidgets.QWidget(Dialog)
        self.horizontalLayoutWidget_4.setGeometry(QtCore.QRect(10, 170, 261, 41))
        self.horizontalLayoutWidget_4.setObjectName("horizontalLayoutWidget_4")
        self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_4)
        self.horizontalLayout_4.setContentsMargins(0, 0, 0, 0)
        self.horizontalLayout_4.setObjectName("horizontalLayout_4")
        self.label_4 = QtWidgets.QLabel(self.horizontalLayoutWidget_4)
        self.label_4.setObjectName("label_4")
        self.horizontalLayout_4.addWidget(self.label_4)
        self.lineEdit_4 = QtWidgets.QLineEdit(self.horizontalLayoutWidget_4)
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.horizontalLayout_4.addWidget(self.lineEdit_4)
        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", "手工添加数据"))
        self.pushButton.setText(_translate("Dialog", "添加"))
        self.label.setText(_translate("Dialog", "客户名字"))
        self.label_2.setText(_translate("Dialog", "衣服款式"))
        self.label_3.setText(_translate("Dialog", "衣服尺寸"))
        self.label_4.setText(_translate("Dialog", "订单件数"))

4.再写一个test.py来启动这个窗口:

#coding=utf-8
import sys
import Clothes_insertData
from PyQt5.QtWidgets import QApplication,QDialog
if __name__ == '__main__':
    myapp = QApplication(sys.argv)
    myDlg = QDialog()
    myUI = Clothes_insertData.Ui_Dialog()
    myUI.setupUi(myDlg)
    #在屏幕中显示widget
    myDlg.show()
    #exec是python保留关键字,所以用exec_()来代替
    sys.exit(myapp.exec_())

在这里插入图片描述

弹出提示框参考:https://www.cnblogs.com/zhoug2020/p/10094855.html

窗体如何弹出子窗体:

#coding=utf-8
import sys
import os
if hasattr(sys, 'frozen'):
    os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']
from Colthes_main import *
from Clothes_insertData import *
from PyQt5.QtWidgets import QApplication,QMainWindow,QDialog,QTableWidgetItem,QMessageBox
from PyQt5.QtGui import QFont
from sqlHelper import SqlHelper
from PyQt5 import QtCore

#主窗口
class parrentWindow(QMainWindow):
    def __init__(self):
        QMainWindow.__init__(self)
        self.main_ui = Ui_MainWindow()
        self.main_ui.setupUi(self)
        #添加事件监听
        self.click_method()
        self.result = []
        # 表头
        self.horizontalHeader = ["客户名字", "衣服款式", "衣服尺寸", "订单件数","电话","地址"]
        # 初始化表格
        self.table()
        
#子窗口
class childWindow(QDialog):
    def __init__(self):
        QDialog.__init__(self)
        self.child_ui =Ui_Dialog()
        self.child_ui.setupUi(self)
        #添加监听事件
        self.click_method()
        
if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = parrentWindow()
    child = childWindow()
    #通过toolButton将两个窗体连接
    btn = window.main_ui.pushButton_2
    btn.clicked.connect(child.show)
    #显示
    window.show()
    sys.exit(app.exec_())
PyQT5: 构建图形用户界面的Python指南 PyQt5是一个Python绑定的跨平台C++库,用于创建丰富的图形用户界面(GUI)。它是Qt库的Python接口,Qt库由Qt公司开发,用于开发GUI程序,也称作应用程序框架。在此,我们将详细介绍如何使用PyQt5创建图形用户界面。 阅读详情

相关推荐

一、PyQt5实现Python界面设计_QtWidgets (第一个窗体界面)

1、PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。3、注意使用面对对象方式进行开发,以便后续的更改与开发。(1)界面与逻辑分离(2)事件与设计分离。

m0_59160272的博客 1万+

Python 第三方 PyQt5 库使用PyQt5-tools的依赖包安装和 Qt Designer、PyUIC、PyRcc三个工具的设置以及QT Designer实现拖拽进行可视化UI界面开发

使用Python开发图形界面的软件其实并不多,而使用自带Tkiner库又无法满足一些界面开发,本文主要讲解了PyQt5以及使用QT Designer辅助进行模块化拖拽式图形化UI界面开发提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

THZLYXX的博客 1万+

Python GUI库图形界面开发之PyQt5 Qt Designer工具详细使用方法及Designer ui文件转py文件方法

其中,Qt Designer是PyQt5的一个可视化设计工具,它可以帮助我们通过拖放和设置属性的方式快速创建界面,并将其保存为.ui文件。本文介绍了PyQt5 Qt Designer工具的详细使用方法,包括创建界面、设置属性、保存为.ui文件以及将.ui文件转换为.py文件。一般情况下,我们需要将.ui文件转换为.py文件,以便在Python代码中使用。通过上述方法,我们可以将Qt Designer生成的.ui文件转换为可以在Python中使用的.py文件,方便我们进行进一步的开发和定制。

ByteProwl的博客 687

PyQt5桌面应用开发(4):界面设计

经过需求分析、事件循环和并行设计的介绍,终于还是要写一篇界面设计的内容。很不情愿,因为我这个部分很不擅长,设计的界面很丑很丑。其实丑并不可怕,关了灯都一样……首先,我们再回到需求分析的话题。8类控件可以分为3大类;三种使用ui文件的方式;每种方式都差不多,为了IDE支持代码,可以把控件的类型都声明一遍。

withstand的博客 8794

Win10+pycharm+conda 配置Siammask 过程记录(新手向)

我们跑动demo 需要配置两个相关的文件这两个文件需要用 git 进行下载,对于不熟悉git的小伙伴 我这里给出连接,大家可以直接下载即可,并将其配置在 experiments文件夹下然后大家再需要在设置参数参数这里给出了。

C1137577723的博客 551

更新3ds时和用读卡器读取传输文件操作不当导致的tf卡损坏无法读取需要格式化时出现的问题以及不想丢失文件并且修复的详细解决方法

前言: 不小心按了同意更新而且tf/sd卡损坏导致了3ds打开后都是出现 Anerror has occurred:(红色的) Failed to apply 1 FIRM patch(es). Press any button to shotdown 这样的画面,按了任意键后就关机,我找了很多资料和大佬的回答解决了这些问题,现在记录一下。 一.不小心按了更新导致上述的画面 原因:是因为系统升级了,但是里面的Luma3DS还没有更新,属于是更新了但没有完全更新的状态。 **修复方法** 1.首先请按

give_me_fish的博客 1万+

python 漂亮界面demo,Python 使用QT5开发界面的一个demo开发过程的总结

Python 使用QT5开发界面的一个demo开发过程的总结Python 使用QT5开发界面的一个demo开发过程的总结1. 当前使用的 python版本 :2. 使用pip安装 QT5:pip install pyqt53. 安装PyQt5-tools : pip install pyqt5-tools4. 校验QT是否安装成功:from PyQt5 import QtWidgets, Q...

weixin_36485371的博客 1056

手把手教你用Simulink搭建级联H桥储能变流器仿真模型(附SOC均衡分析)

本文详细介绍了如何使用Simulink搭建级联H桥储能变流器仿真模型,并附有SOC均衡分析。从仿真环境准备、单相H桥单元建模到多模块级联方案和SOC均衡策略实现,逐步指导读者完成复杂系统的构建与优化。通过关键仿真结果分析和工程实践问题排查,帮助读者掌握级联H桥储能变流器的核心技术与应用方法。

weixin_42524226的博客 445

python 漂亮界面demo_Python 使用QT5开发界面的一个demo开发过程的总结(转载)

1. 当前使用的 python版本 :2. 使用pip安装 QT5:pip install pyqt53. 安装PyQt5-tools : pip install pyqt5-tools4. 校验QT是否安装成功:from PyQt5 import QtWidgets, QtGuiimport sysapp = QtWidgets.QApplication(sys.argv)window =...

weixin_32616031的博客 2276

Gemma 4 12B QAT+MTP小显存部署实战指南

大语言模型本地部署的核心瓶颈在于显存与推理效率的平衡。量化感知训练(QAT)通过在训练阶段模拟低精度计算,显著提升模型对INT4量化的鲁棒性;多令牌预测(MTP)则通过并行解码优化KV Cache复用,降低GPU kernel调用频次。二者协同可在8GB显存设备上稳定运行12B级模型,兼顾精度、速度与上下文长度。该方案适用于开发者本地AI助手、技术文档生成、SQL翻译等轻量但高交互需求场景,是当前Windows环境中小显存高效落地Gemma系列模型的工程最优解。

weixin_30934229的博客 377

YOLOv8融合可变形注意力(DAT)实战教程:暴力涨点的科研级注意力机制优化方案

DAT的“可变形注意力”为目标检测的“精准特征捕捉”提供了全新思路,而YOLOv8的工程化优势让这种科研创新能快速落地到工业场景。希望这篇教程能帮你在“注意力机制优化+复杂场景检测”的痛点上找到突破口。如果你在实操中遇到“涨点不明显”的问题,不妨回到“DAT的采样点是否贴合目标形状”“注意力权重是否有效过滤背景”这些细节上找原因——科研的价值,就在于在细节打磨中推动技术进步。祝你在DAT与YOLOv8的结合探索中,既能做出有说服力的实验成果,又能沉淀出解决异形目标检测难题的实用经验。

know_F0727的博客 83

Python界面 可视化开发(python3+PyQt5+Qt Designer)

前言 以前制作一个Python窗体界面,我都是用GUI窗口视窗设计的模块Tkinter一点一点敲出来的,今天朋友问我有没有Python窗体的设计工具,“用鼠标拖拖”就能完成窗体设计,我查了查相关资料,果然有一款好用的工具——Qt Designer。 1.安装Qt Designer 这里需要安装两个东西:PyQt5和PyQt5-tools: 安装PyQt5:打...

清晨的光明 5万+

用「OpenClaw」打造新媒体运营神器:小红书/公众号全自动选题→创作→排版→发布全流程

对于新媒体运营的从业者来说,AI不是要取代运营人员,而是把他们从繁琐的重复劳动中解放出来,专注于更核心的内容策略、用户运营、品牌建设,这才是AI在传统行业落地的真正价值。这是最终输出可发布内容的核心智能体,我们通过「OpenClaw」的Prompt工程,结合不同平台的排版规范,实现了一键生成符合要求的排版,完全替代人工重复劳动。这套系统的落地,不是技术的炫技,而是真正用AI解决了新媒体运营的核心痛点:用自动化替代重复的人工劳动,用数据决策替代经验主义,用全闭环执行替代纸上谈兵的建议。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 198

python编写qt界面的环境配置_Pycharm Qt5开发环境配置

本文环境配置:系统=>windows10:64位语言=>Python:3.7.5第三方库PyQT5:5.14.2pyqt5-tools:5.14.0.1.5工具=>PyCharm:2019.3.3使用PyCharm,根据不同的项目搭建独立的虚拟环境打开PyCharm点击New Project项目路径自定义选择venv(virtualenv)目录,这里存放一个虚拟的python环境...

weixin_39976081的博客 533

ChatGPT充值,银行卡被拒绝,图文教程

ChatGPT充值,银行卡被拒绝

weixin_46713695的博客 2万+

防护装备穿戴检查:基于YOLOv8与UI界面的深度学习应用

通过结合YOLOv8模型与UI界面,本系统实现了防护装备穿戴检查的自动化。该系统能够快速识别工作人员是否正确佩戴了所需的防护装备,帮助提高安全管理水平。未来,随着技术的发展,防护装备穿戴检查系统将在更多领域得到应用,如工业现场、建筑工地等,实现更加精确和高效的实时监控。

YOLO 355

python编写qt界面的配置_mac上qt5开发python界面配置

安装当然选择brew安装brew install python3brew install pyqt5brew cask install qt-creator #用于图形界面UI的编写pyqt5的工具链配置配置Qt DesignerTools->External Tools-> +Name: Qt DesignerDescription: 生成.ui文件Program: /Users/k...

weixin_34698042的博客 601

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python 使用QT5开发界面的一个demo开发过程的总结

Python 使用QT5开发界面的一个demo开发过程的总结 1. 当前使用的 python版本 : 2. 使用pip安装 QT5: pip install pyqt5 3. 安装PyQt5-tools : pip install pyqt5-tools 4. 校验QT是否安装成功: from PyQt5 import QtWidgets, QtGui import sys app = QtWidgets.QApplication(sys.argv) ...

viviliving的专栏 1420

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

mac python3 界面_mac上qt5开发python界面配置

安装当然选择brew安装brew install python3brew install pyqt5brew cask install qt-creator #用于图形界面UI的编写pyqt5的工具链配置配置Qt DesignerTools->External Tools-> +Name: Qt DesignerDescription: 生成.ui文件Program: /Users/k...

weixin_36462845的博客 456

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

python能使用qt做出的界面吗_Python 使用QT5开发界面的一个demo开发过程的总结

#-*- coding: utf-8 -*-#Form implementation generated from reading ui file 'query.ui'##Created by: PyQt5 UI code generator 5.11.3##WARNING! All changes made in this file will be lost!from PyQt5 importQ...

weixin_42410566的博客 276

Python界面 PyQT可视化开发(python3+PyQt5+Qt Designer)

前言 以前制作一个Python窗体界面,我都是用GUI窗口视窗设计的模块Tkinter一点一点敲出来的,今天朋友问我有没有Python窗体的设计工具,“用鼠标拖拖”就能完成窗体设计,我查了查相关资料,果然有一款好用的工具——Qt Designer。 1.安装Qt Designer 这里需要安装两个东西:PyQt5和PyQt5-tools: 安装PyQt5:打开CMD或者PowerShell,在命令窗中输入 pip install PyQt5 执行结果如下: ...

sinat_28371057的博客 8372

qt5 python if_Python 使用QT5开发界面的一个demo开发过程的总结

#-*- coding: utf-8 -*-#Form implementation generated from reading ui file ‘query.ui‘##Created by: PyQt5 UI code generator 5.11.3##WARNING! All changes made in this file will be lost!from PyQt5 importQ...

weixin_29373959的博客 146

qt5的python源代码案例

qt5的python源代码案例 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供了使用Python语言结合QT5库进行界面开发的示例项目。项目包括QT5设计器创建的UI文件以及对应的Python源代码。通过这个案例,您可以了解如何使用QT5库构建图形用户界面,并掌握Python与QT5的结合应用。 案例包含以下内容: QT5设计器生成的UI文件(.ui) 对应的Pyt...

gitblog_06788的博客 398

Python测试工具开发实战:用PyQt5和Qt Designer打造专属GUI界面

本文详细介绍了如何利用Python的PyQt5框架和Qt Designer工具,从零开始开发定制化GUI测试工具。通过实战演示环境搭建、界面设计、信号槽连接、多线程处理及界面美化等核心步骤,帮助测试工程师构建高效、直观的自动化测试平台,实现测试用例管理、执行与报告生成的一体化。

f6g7h8i9j的博客 233

python界面设计实例qt_Python 使用QT5开发界面的一个demo开发过程的总结

#-*- coding: utf-8 -*-#Form implementation generated from reading ui file 'query.ui'##Created by: PyQt5 UI code generator 5.11.3##WARNING! All changes made in this file will be lost!from PyQt5 importQ...

weixin_39939601的博客 373
上一篇: MySQL多表查询(内连接和外连接)
下一篇: pageObject+unittest+selenium实现UI自动化测试
一giao窝里giao
博客等级 码龄11年 37粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值