Pyside6入门教学——编写一个UI界面并显示

1、安装Pyside6

  • 输入下列命令安装Pyside6。
    • pip install Pyside6

2、设计UI

  • 打开Qt设计工具(在安装Pyside6包的目录下)。
    • 【注】我这用的是anaconda虚拟环境,所以我的路径是D:\App\Anaconda3\envs\snake\Lib\site-packages\PySide6。
  • 设计一个界面,如何设计这里不详细讲解。
    • 设计完后保存,得到一个ui文件。(另存到项目的目录下,方便查找)

3、转换为py文件

  • 打开终端,进入ui文件所在的路径。输入命令进行转换:
    • PySide6-uic SedentaryReminder.ui -o ui_SedentaryReminder.py
  •  得到py文件。
    • # -*- coding: utf-8 -*-
      
      ################################################################################
      ## Form generated from reading UI file 'SedentaryReminder.ui'
      ##
      ## Created by: Qt User Interface Compiler version 6.6.1
      ##
      ## 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 (QApplication, QCheckBox, QLCDNumber, QLabel,
          QMainWindow, QPushButton, QSizePolicy, QSpinBox,
          QSplitter, QWidget)
      
      class Ui_MainWindow(object):
          def setupUi(self, MainWindow):
              if not MainWindow.objectName():
                  MainWindow.setObjectName(u"MainWindow")
              MainWindow.resize(260, 300)
              MainWindow.setMinimumSize(QSize(260, 300))
              MainWindow.setMaximumSize(QSize(260, 300))
              self.centralwidget = QWidget(MainWindow)
              self.centralwidget.setObjectName(u"centralwidget")
              self.label_2 = QLabel(self.centralwidget)
              self.label_2.setObjectName(u"label_2")
              self.label_2.setGeometry(QRect(37, 143, 48, 20))
              font = QFont()
              font.setPointSize(12)
              font.setBold(True)
              self.label_2.setFont(font)
              self.label = QLabel(self.centralwidget)
              self.label.setObjectName(u"label")
              self.label.setGeometry(QRect(31, 21, 64, 20))
              self.label.setFont(font)
              self.label.setMouseTracking(True)
              self.ifLock = QCheckBox(self.centralwidget)
              self.ifLock.setObjectName(u"ifLock")
              self.ifLock.setGeometry(QRect(60, 169, 151, 20))
              self.ifLock.setMouseTracking(True)
              self.ok = QPushButton(self.centralwidget)
              self.ok.setObjectName(u"ok")
              self.ok.setGeometry(QRect(90, 200, 71, 23))
              self.splitter = QSplitter(self.centralwidget)
              self.splitter.setObjectName(u"splitter")
              self.splitter.setGeometry(QRect(61, 50, 161, 21))
              self.splitter.setOrientation(Qt.Horizontal)
              self.label_3 = QLabel(self.splitter)
              self.label_3.setObjectName(u"label_3")
              self.splitter.addWidget(self.label_3)
              self.workTime = QSpinBox(self.splitter)
              self.workTime.setObjectName(u"workTime")
              self.splitter.addWidget(self.workTime)
              self.label_5 = QLabel(self.splitter)
              self.label_5.setObjectName(u"label_5")
              self.splitter.addWidget(self.label_5)
              self.splitter_2 = QSplitter(self.centralwidget)
              self.splitter_2.setObjectName(u"splitter_2")
              self.splitter_2.setGeometry(QRect(61, 79, 161, 21))
              self.splitter_2.setOrientation(Qt.Horizontal)
              self.label_4 = QLabel(self.splitter_2)
              self.label_4.setObjectName(u"label_4")
              self.splitter_2.addWidget(self.label_4)
              self.restTime = QSpinBox(self.splitter_2)
              self.restTime.setObjectName(u"restTime")
              self.splitter_2.addWidget(self.restTime)
              self.label_6 = QLabel(self.splitter_2)
              self.label_6.setObjectName(u"label_6")
              self.splitter_2.addWidget(self.label_6)
              self.time = QLCDNumber(self.centralwidget)
              self.time.setObjectName(u"time")
              self.time.setGeometry(QRect(60, 240, 131, 41))
              MainWindow.setCentralWidget(self.centralwidget)
      
              self.retranslateUi(MainWindow)
      
              QMetaObject.connectSlotsByName(MainWindow)
          # setupUi
      
          def retranslateUi(self, MainWindow):
              MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"\u4e45\u5750\u63d0\u9192", None))
              self.label_2.setText(QCoreApplication.translate("MainWindow", u"\u9009\u9879\uff1a", None))
              self.label.setText(QCoreApplication.translate("MainWindow", u"\u8ba1\u65f6\u5668\uff1a", None))
              self.ifLock.setText(QCoreApplication.translate("MainWindow", u"\u4f11\u606f\u65f6\u5c4f\u853d\u952e\u76d8\u548c\u9f20\u6807", None))
              self.ok.setText(QCoreApplication.translate("MainWindow", u"\u5f00\u59cb", None))
              self.label_3.setText(QCoreApplication.translate("MainWindow", u"\u5de5\u4f5c\u65f6\u95f4\uff1a", None))
              self.label_5.setText(QCoreApplication.translate("MainWindow", u"\uff08\u5206\u949f\uff09", None))
              self.label_4.setText(QCoreApplication.translate("MainWindow", u"\u4f11\u606f\u65f6\u95f4\uff1a", None))
              self.label_6.setText(QCoreApplication.translate("MainWindow", u"\uff08\u5206\u949f\uff09", None))
          # retranslateUi

4、显示界面

  • 使用Pycharm创建一个新的项目,并创建一个python文件。
    • from PySide6.QtWidgets import QApplication, QMainWindow
      from ui_SedentaryReminder import Ui_MainWindow
      
      
      class MainWindow(QMainWindow):
          def __init__(self):
              super(MainWindow, self).__init__()
              self.ui = Ui_MainWindow()  # UI类的实例化
              self.ui.setupUi(self)
      
      
      if __name__ == '__main__':
          app = QApplication([])  # 启动一个应用
          window = MainWindow()  # 实例化主窗口
          window.show()  # 展示主窗口
          app.exec()  # 避免程序执行到这一行后直接退出
  • 运行显示界面。 
    • 【注】这只是简单地显示了UI界面,并没有具体的功能实现。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

〔全网最正确〕2024华数杯B题成品论文22页word+四小问可执行代码+代码调式+结果分析+高清运行结果图

华数杯B题光伏发电 一、问题分析 (完整版见文末) 问题一: 首先题目要求得到电能行业与经济状况、居民消费水平、城市化率和市场化程度等因素的关系,并对供电量进行预测。其中,电能采用供电量数据、经济采用GDP数据&…

003 摄像头的配置

string realm_s “IP Camera(J4605)”; 需要根据摄像头的具体型号进行修改; IP Camera(L3433) 张XX的摄像头 正常的启动信息 connect 0. connect success. -------------------------SEND OPTIONS------------------------------ OPTIONS rtsp://192.168.1.64:55…

C语言之编译和链接

目录 一、引言 二、编译和链接 2.1 预处理&#xff08;预编译&#xff09; 2.2 编译 2.3 汇编 2.4 链接 一、引言 #include <stdio.h> int main() {printf("hello, world\n");return 0; } 像这样&#xff0c;只由ASCII字符构成的文件被称为文本文件&…

基于人工蚁群、蚁群、遗传算法的多目标任务分配

matlab2020a可运行 基于人工蚁群、蚁群、遗传算法的多目标任务分配资源-CSDN文库

数据结构--串

本文为复习的草稿笔记&#xff0c;&#xff0c;&#xff0c;有点乱 1. 串的基本概念和基本操作 串是由零个或多个字符组成的有限序列 2. 串的存储结构 3.串的应用 模式匹配 BF算法&#xff08;简单匹配算法 穷举法 算法思路&#xff1a;从子串的每一个字符开始依次与主串…

【大数据】Flink 测试利器:DataGen

Flink 测试利器&#xff1a;DataGen 1.什么是 FlinkSQL &#xff1f;2.什么是 Connector &#xff1f;3.DataGen Connector3.1 Demo3.2 支持的类型3.3 连接器属性 4.DataGen 使用案例4.1 场景一&#xff1a;生成一亿条数据到 Hive 表4.2 场景二&#xff1a;持续每秒生产 10 万条…

FunTester 性能测试中获取 JVM 资源信息

在以往性能测试中&#xff0c;通常施压机的硬件资源不会成为压力瓶颈&#xff0c;但是在多任务并行的场景中&#xff0c;如果一个任务占用当前机器资源过多&#xff0c;会影响其他任务执行。或者当前用例本身存在问题&#xff0c;导致性能无法进一步提升&#xff0c;影响了性能…

鸿蒙开发系列教程(四)--ArkTS语言:基础知识

1、ArkTS语言介绍 ArkTS是HarmonyOS应用开发语言。它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;对TS的动态类型特性施加更严格的约束&#xff0c;引入静态类型。同时&#xff0c;提供了声明式UI、状态管理等相应的能力&#xff0c;让开…

脏牛漏洞(CVE-2016-5195)复现过程(详细完整版)

1、实验环境 KaLi 攻击机 Linux靶机 靶场 实验目的&#xff1a; 掌握漏洞利用的方法 掌握脏牛漏洞的原理 提高对内核安全性的认识 2、靶场搭建 VMware导入靶场 靶场地址&#xff1a;链接&#xff1a;百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。…

SEO品牌推广的核心步骤

在当今数字化的商业环境中&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;品牌推广已经成为企业不可或缺的一部分。通过优化网站&#xff0c;提高在搜索引擎结果中的排名&#xff0c;企业能够更好地吸引潜在客户&#xff0c;提升品牌知名度。本文将专心分享如何做好SEO品…

线性表的顺序存储实现

前言 线性表的顺序存储及基本操作的实现 一、线性表 线性表&#xff08;List&#xff09;是由同类型数据元素构成有序序列的线性结构&#xff0c;用户处理线性表数据时常常需要初始化、查找、插入、删除、计算数据长度等操作。 线性表还包含以下几个要素&#xff1a; 表中元…

C语言编译和链接

翻译环境和运行环境 在ANSI C的任何一种实现中&#xff0c;存在两个不同的环境 .第一种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令 .第二种是执行环境&#xff0c;它用于实际执行代码 翻译环境 翻译环境是由编译和链接两个大过程组成&#xff0c;而…

交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装

AArch64 是随 ARMv8 ISA 一起引入的 64 位架构&#xff0c;用于执行 A64 指令的计算机。而且在 AArch64 状态下执行的代码只能使用 A64 指令集。&#xff0c;而不能执行 A32 或 T32 指令。但是&#xff0c;与 AArch32 中不同&#xff0c;在64位状态下&#xff0c;指令可以访问 …

ArcGIS Pro控件汇总

控件来源 我们对其一一进行查看是否有控件 查看位置 控件展示 ribbonControls 展示 代码 <controls:ProWindow x:Class"ProAppModule9.ProWindowRibbon"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:controls"clr-…

集成学习算法(Bagging 思想、Boosting思想)及具体案例

概述&#xff1a;是机器学习中的一种思想&#xff0c;通过多个模型的组合形成一个精度更高的模型&#xff0c;参与组合的模型称为弱学习器 1、Bagging 思想 有放回的抽样&#xff08;booststrap抽样&#xff09;产生不同的训练集&#xff0c;从而训练不同的学习器&#xff1b;…

FairGuard游戏安全2023年度报告

导 读&#xff1a;2023年&#xff0c;游戏行业摆脱了疫情带来诸多负面影响&#xff0c;国内游戏市场收入与用户规模双双实现突破&#xff0c;迎来了历史新高点。但游戏黑灰产规模也在迅速扩大&#xff0c;不少游戏饱受其侵扰&#xff0c;游戏厂商愈发重视游戏安全问题。 为帮助…

重磅发布!基于百度飞桨的《人工智能基础及应用》书籍正式上线

科技日新月异的今天&#xff0c;人工智能已经成为引领未来的核心驱动力。为了帮助大家更好地深入理解人工智能的理论和技术&#xff0c;为未来发展做好准备&#xff0c;百度飞桨教材编写组联合北京交通大学王方石教授、北京邮电大学杨煜清特聘副研究员共同撰写推出了《人工智能…

使用 FFmpeg 轻松调整视频的大小/缩放/更改分辨率

在此 FFmpeg 教程中&#xff0c;我们学习使用 FFmpeg 的命令行工具更改视频的分辨率&#xff08;或调整视频的大小/缩放&#xff09;。 更改视频的分辨率&#xff08;也称为调整大小或缩放&#xff09;是视频编辑、处理和压缩中非常常见的操作。对于 ABR 视频流尤其如此&#…

【笔记】Helm-3 主题-6 Chart仓库指南

Chart仓库指南 本节介绍如何创建和使用chart仓库。在高层级中&#xff0c;chart仓库是打包的chart存储和分享的位置。 社区的Helm chart仓位于 Artifact Hub &#xff0c;欢迎加入。不过Helm也可以创建并运行您自己的chart仓库。该指南将介绍如何操作。 Artifact Hub 先决条…

防爆气象站需要如何维护

TH-FBCQX2 在工业生产中&#xff0c;防爆气象站是保障安全生产的重要设备之一。由于其特殊的使用环境和功能&#xff0c;防爆气象站的维护保养工作显得尤为重要。 一、日常维护保养 清洁&#xff1a;防爆气象站的外部和内部组件需要定期清洁&#xff0c;以去除灰尘、油渍和杂质…