Qt Designer and Python: Build Your GUI

1.install pyside6

2.pyside6-designer.exe 发送到桌面快捷方式

在Python安装的所在 Scripts 文件夹下找到此文件。如C:\Program Files\Python312\Scripts

 

3. 打开pyside6-designer 设计UI

4.保存为simple.ui 文件,再转成py文件

用代码执行 pyside6-uic.exe simple.ui -o simple.py

生成源文件simple.py:

# -*- coding: utf-8 -*-################################################################################
## Form generated from reading UI file 'simple.ui'
##
## Created by: Qt User Interface Compiler version 6.8.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,QMetaObject, QObject, QPoint, QRect,QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,QFont, QFontDatabase, QGradient, QIcon,QImage, QKeySequence, QLinearGradient, QPainter,QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QAbstractButton, QApplication, QDialog, QDialogButtonBox,QLabel, QSizePolicy, QTextEdit, QWidget)class Ui_Dialog(object):def setupUi(self, Dialog):if not Dialog.objectName():Dialog.setObjectName(u"Dialog")Dialog.resize(736, 520)self.buttonBox = QDialogButtonBox(Dialog)self.buttonBox.setObjectName(u"buttonBox")self.buttonBox.setGeometry(QRect(50, 360, 341, 32))self.buttonBox.setOrientation(Qt.Orientation.Horizontal)self.buttonBox.setStandardButtons(QDialogButtonBox.StandardButton.Cancel|QDialogButtonBox.StandardButton.Ok)self.txtName = QTextEdit(Dialog)self.txtName.setObjectName(u"txtName")self.txtName.setGeometry(QRect(340, 110, 221, 31))self.txtpassword = QTextEdit(Dialog)self.txtpassword.setObjectName(u"txtpassword")self.txtpassword.setGeometry(QRect(340, 170, 221, 31))self.label = QLabel(Dialog)self.label.setObjectName(u"label")self.label.setGeometry(QRect(230, 120, 61, 21))font = QFont()font.setPointSize(14)self.label.setFont(font)self.label.setLineWidth(3)self.label_2 = QLabel(Dialog)self.label_2.setObjectName(u"label_2")self.label_2.setGeometry(QRect(220, 180, 71, 21))self.label_2.setFont(font)self.retranslateUi(Dialog)self.buttonBox.accepted.connect(Dialog.objectName)self.buttonBox.rejected.connect(Dialog.objectName)QMetaObject.connectSlotsByName(Dialog)# setupUidef retranslateUi(self, Dialog):Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog", None))self.label.setText(QCoreApplication.translate("Dialog", u"\u59d3\u540d", None))self.label_2.setText(QCoreApplication.translate("Dialog", u"\u5bc6\u7801", None))# retranslateUi

加上点击事件

# -*- coding: utf-8 -*-################################################################################
## Form generated from reading UI file 'simple.ui'
##
## Created by: Qt User Interface Compiler version 6.8.0
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,QMetaObject, QObject, QPoint, QRect,QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,QFont, QFontDatabase, QGradient, QIcon,QImage, QKeySequence, QLinearGradient, QPainter,QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QAbstractButton, QApplication, QDialog, QDialogButtonBox,QLabel, QSizePolicy, QTextEdit, QWidget,QVBoxLayout)class Ui_Dialog(object):""""""def setupUi(self, Dialog):""":param Dialog::return:"""if not Dialog.objectName():Dialog.setObjectName(u"Dialog")Dialog.resize(736, 520)self.buttonBox = QDialogButtonBox(Dialog)self.buttonBox.setObjectName(u"buttonBox")self.buttonBox.setGeometry(QRect(90, 280, 341, 32))self.buttonBox.setOrientation(Qt.Orientation.Horizontal)self.buttonBox.setStandardButtons(QDialogButtonBox.StandardButton.Cancel|QDialogButtonBox.StandardButton.Ok)self.txtName = QTextEdit(Dialog)self.txtName.setObjectName(u"txtName")self.txtName.setGeometry(QRect(340, 110, 221, 31))self.txtpassword = QTextEdit(Dialog)self.txtpassword.setObjectName(u"txtpassword")self.txtpassword.setGeometry(QRect(340, 170, 221, 31))self.label = QLabel(Dialog)self.label.setObjectName(u"label")self.label.setGeometry(QRect(230, 120, 61, 21))font = QFont()font.setPointSize(14)self.label.setFont(font)self.label.setLineWidth(3)self.label_2 = QLabel(Dialog)self.label_2.setObjectName(u"label_2")self.label_2.setGeometry(QRect(230, 180, 71, 21))self.label_2.setFont(font)self.retranslateUi(Dialog)self.buttonBox.accepted.connect(Dialog.objectName)self.buttonBox.rejected.connect(Dialog.objectName)self.buttonBox.clicked.connect(self.buttonClicked)QMetaObject.connectSlotsByName(Dialog)# setupUidef buttonClicked(self,button):role = self.buttonBox.standardButton(button)if role == QDialogButtonBox.StandardButton.Ok:print("Save clicked")elif role == QDialogButtonBox.StandardButton.Cancel:print("Cancel clicked")def retranslateUi(self, Dialog):Dialog.setWindowTitle(QCoreApplication.translate("Dialog", u"Dialog\u6d4b\u8bd5", None))
#if QT_CONFIG(tooltip)self.buttonBox.setToolTip(QCoreApplication.translate("Dialog", u"\u6309\u786e\u5b9a", None))
#endif // QT_CONFIG(tooltip)self.label.setText(QCoreApplication.translate("Dialog", u"\u59d3\u540d", None))self.label_2.setText(QCoreApplication.translate("Dialog", u"\u5bc6\u7801", None))# retranslateUi

simply2.py 引用 simply.py

# -*- coding: utf-8 -*-
# 版权所有 2024 涂聚文有限公司
# 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎
# 描述:pip install pyqt6
# Author    : geovindu,Geovin Du 涂聚文.
# IDE       : PyCharm 2023.1 python 3.11
# os        : windows 10
# database  : mysql 9.0 sql server 2019, poostgreSQL 17.0
# Datetime  : 2024/12/7 23:37
# User      : geovindu
# Product   : PyCharm
# Project   : Pysimple
# File      : simply2.py
# explain   : 学习import sys
from PySide6.QtWidgets import QApplication,QWidget
from simple import Ui_Dialogclass Windows(Ui_Dialog,QWidget):""""""def __init__(self):""""""super().__init__()self.setupUi(self)if __name__ == '__main__':app=QApplication(sys.argv)win=Windows()win.show()m=app.exec()sys.exit(m)

测试运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/893799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos7系统php8编译安装ImageMagick/Imagick扩展教程整理

Centos7系统php8编译安装ImageMagick/Imagick扩展教程整理 安装php8安装ImageMagick1、下载ImageMagick2、解压并安装3、查看是否安装成功 安装imagick扩展包 安装php8 点我安装php8 安装ImageMagick 1、下载ImageMagick wget https://www.imagemagick.org/download/ImageMa…

数据中台解决方案

数据中台概述 数据中台是数字化转型的基础,它不仅仅是一个平台,而是一套可持续让企业数据用起来的机制。这套机制涵盖了数据的采集、治理、开发到数据服务的全过程,旨在通过数据复用能力的提升,灵活支撑前端业务。数据中台通过“…

Linux——rzsz工具

rzsz这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件. 安装完毕之后可以通过拖拽的方式将文件上传过去. 安装rzsz工具 rz:从Windows机器上传到远程Linux机器(或者直接把文件托进Xshell中) sz:将文件从Linux远…

SpringBoot基础概念介绍-数据源与数据库连接池

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 毛毛张今天介绍的SpringBoot中的基础概念-数据源与数据库连接池,同时介绍SpringBoot整合两种连接池的教程 文章目录 1 数据库与数据库管理系统2 JDBC与数…

MyBatis框架基础学习及入门案例(2)

目录 一、数据库建表(tb_user)以及添加数据。 (1)数据库与数据表说明。 (2)字段与数据说明。 二、创建模块(或工程)、导入对应所需依赖坐标。 三、编写MyBatis核心主配置文件。(解决JDBC中"硬编码"问题) (1&…

js小游戏---2048(附源代码)

一、游戏页面展示 开始游戏: 游戏结束: 二、游戏如何操作 通过监听键盘的操作,进行移动变化 键盘上下左右键控制页面中所有模块同时向键入的方向移动,如果有两块一样的方块,就进行合并,并且在键盘每操作…

美格智能AIMO智能体+DeepSeek-R1模型,AI应用的iPhone时刻来了

导语: 当AI大模型从云端下沉至终端设备,一场关于效率、隐私与智能化的革命悄然展开。作为全球领先的无线通信模组及解决方案提供商,美格智能凭借其高算力AI模组矩阵与端侧大模型部署经验,结合最新发布的AIMO智能体产品&#xff0…

C语言的灵魂——指针(1)

指针是C语言的灵魂,有了指针C语言才能完成一些复杂的程序;没了指针就相当于C语言最精髓的部分被去掉了,可见指针是多么重要。废话不多讲我们直接开始。 指针 一,内存和地址二,编址三,指针变量和地址1&#…

物业巡更系统助推社区管理智能化与服务模式创新的研究与应用

内容概要 在现代社区管理中,物业巡更系统扮演着至关重要的角色。首先,我们先来了解一下这个系统的概念与发展背景。物业巡更系统,顾名思义,是一个用来提升物业管理效率与服务质量的智能化工具。随着科技的发展,传统的…

关于CAN(FD)转以太网详细介绍

一、功能描述 CANFD 完全向下兼容 CAN ,以下统称 CAN(FD) 。 SG-CAN(FD)NET-210 是一款用来把 CANFD 总线数据转为网口数据的设备。 网口支持 TCP Sever 、 TCP Client 、 UDP Sever 、 UDP Client 四种模式。 可以通过软件配置和 Web 网页配置。 两路…

用Python和PyQt5打造一个股票涨幅统计工具

在当今的金融市场中,股票数据的实时获取和分析是投资者和金融从业者的核心需求之一。无论是个人投资者还是专业机构,都需要一个高效的工具来帮助他们快速获取股票数据并进行分析。本文将带你一步步用Python和PyQt5打造一个股票涨幅统计工具,不…

Centos类型服务器等保测评整/etc/pam.d/system-auth

修改服务器配置文件/etc/pam.d/system-auth,但是,把一下配置放在password的配置第一行才会生效 执行命令:配置口令要求:大小写字母、数字、特殊字符组合、至少8位,包括强制设置root口令! sed -i 14a pas…

At coder beginner contest 290AB

A12435 思路:只有4中情况:A1,A2翻转,其他正常,A2A3翻转其他正常.....为了下标与数字对应我开了6个空间,然后从1开始循环,到4截止,因为循环中有i1害怕数组越界,如果索引出的数与下标不相等了&…

Vue3 + TS 实现批量拖拽 文件夹和文件 组件封装

一、html 代码&#xff1a; 代码中的表格引入了 vxe-table 插件 <Tag /> 是自己封装的说明组件 表格列表这块我使用了插槽来增加扩展性&#xff0c;可根据自己需求&#xff0c;在组件外部做调整 <template><div class"dragUpload"><el-dial…

STM32完全学习——RT-thread在STM32F407上移植

一、写在前面 关于源码的下载&#xff0c;以及在KEIL工程里面添加操作系统的源代码&#xff0c;这里就不再赘述了。需要注意的是RT-thread默认里面是会使用串口的&#xff0c;因此需要额外的进行串口的初始化&#xff0c;有些人可能会问&#xff0c;为什么不直接使用CubMAX直接…

JVM深入学习(一)

目录 一.JVM概述 1.1 为什么要学jvm&#xff1f; 1.2 jvm的作用 1.3 jvm内部构造 二.JVM类加载 2.1类加载过程 2.2类加载器 2.3类加载器的分类 2.4双亲委派机制 三.运行时数据区 堆空间区域划分&#xff08;堆&#xff09; 为什么分区(代)&#xff1f;&#xff08…

Spring Boot(6)解决ruoyi框架连续快速发送post请求时,弹出“数据正在处理,请勿重复提交”提醒的问题

一、整个前言 在基于 Ruoyi 框架进行系统开发的过程中&#xff0c;我们常常会遇到各种有趣且具有挑战性的问题。今天&#xff0c;我们就来深入探讨一个在实际开发中较为常见的问题&#xff1a;当连续快速发送 Post 请求时&#xff0c;前端会弹出 “数据正在处理&#xff0c;请…

002-SpringBoot整合AI(Alibaba)

SpringBoot整合AI 一、引入依赖二、配置application.yml三、获取 api-key四、编写 controller五、起服务调用 一、引入依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><vers…

安宝特方案 | 智能培训:安宝特AR如何提升企业技能培训的效率与互动性

随着企业不断推进数字化转型&#xff0c;传统培训方式已无法满足现代企业对高效、灵活培训的需求。尤其在技术更新频繁、工艺流程复杂、员工流动性大的环境中&#xff0c;传统培训模式的局限性愈加明显。为了提升培训质量、降低培训成本&#xff0c;并帮助员工迅速掌握新技能&a…

【阅读笔记】基于整数+分数微分的清晰度评价算子

本文介绍的是一种新的清晰度评价算子&#xff0c;整数微分算子分数微分算子 一、概述 目前在数字图像清晰度评价函数中常用的评价函数包括三类&#xff1a;灰度梯度评价函数、频域函数和统计学函数&#xff0c;其中灰度梯度评价函数具有计算简单&#xff0c;评价效果好等优点…