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)# setupUidef 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_MainWindowclass 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界面,并没有具体的功能实现。

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

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

相关文章

前端(html+css+javascript)作业--展现家乡的网页

期末期间,老师布置了前端作业,现在放到这里,给各位同志参考。 桂平市是广西壮族自治区的一个美丽的城市,拥有丰富的历史文化和自然景观,属于贵港市管辖,那为什么是看起来是市级而不是县级,其实他…

GaussDB(DWS)查询优化技术大揭秘

GaussDB(DWS)查询优化技术大揭秘 大数据时代,数据量呈爆发式增长,经常面临百亿、千亿数据查询场景,当数据仓库数据量较大、SQL语句执行效率低时,数据仓库性能会受到影响。本文将深入讲解在GaussDB(DWS)中如何进行表结构设计&#…

uni-app 经验分享,从入门到离职(年度实战总结:经验篇)——上传图片以及小程序隐私保护指引设置

文章目录 🔥年度征文📋前言⏬关于专栏 🎯关于上传图片需求🎯前置知识点和示例代码🧩uni.chooseImage()🧩uni.chooseMedia()📌uni.chooseImage() 与 uni.chooseMedia() 🧩uni.chooseF…

5D动感影院新奇体验丰富环境特效7D互动影院

5D动感影院太火啦!凭借真实互动感、全视景高清屏幕、立体环绕音效、D打造新颖沉浸式观影体验,成为年轻人/家长/小朋友的新晋打卡聚集地,时刻上演着精彩绝伦的视觉盛宴! 1、5D动感影院【硬件组成】:动感平台、金属银幕、…

Alinx ZYNQ 7020 LED调试--in RAM

设置拨码开关为JTAG方式 烧写LED bit stream a. 点击“Program device”烧录程序到FPGA中(重新上电程序就丢失了) b. /01_led/led.runs/impl_1/led.bit 程序烧录到Flash中 ZYNQ与以往的直接烧录Flash不同,首先必须PS,然后烧…

PXE和kickstart无人值守安装

PXE高效批量网络装机 引言 1.系统装机的引导方式 启动 操作 系统 1.硬盘 2.光驱(u盘) 3.网络启动 pxe 重装系统? 在已有操作系统 新到货了一台服务器, 装操作系统 系统镜像 u盘 光盘 pe: 小型的 操作系统 在操…

HTTP/HTTPS代理IP在多线程爬虫项目中的实践

在多线程爬虫项目中,HTTP/HTTPS代理IP的实践主要包括以下几个关键步骤: 1. 收集代理IP资源: - 从免费或付费代理IP提供商、公开代理列表网站(如西刺代理、无忧代理等)抓取代理IP和端口信息。 - 存储这些IP到数据库或者…

统计学-R语言-5.3

文章目录 前言分位数统计量的标准误总结 前言 本篇文章即为概率与分布的最后一篇文章。 分位数 分位数函数是累积分布函数的反函数。 p-分位数是具有这样性质的一个值:小于或等于它的概率为p。 根据定义,中位数即50%分位数。 分位数通常用于置信区间的…

RT-Thread 15. list_timer与软定时器

1. 代码 void rt_thread_usr1_entry(void *parameter) {/* set LED2 pin mode to output */rt_pin_mode(LED2_PIN, PIN_MODE_OUTPUT);while (1){rt_pin_write(LED2_PIN, PIN_HIGH);rt_thread_mdelay(2000);rt_pin_write(LED2_PIN, PIN_LOW);rt_thread_mdelay(3000);} }int ma…

前端公共组件库优化

背景 前段时间入职了新公司后,做一些内部前端基建的工作,其中一个工作就是优化现有的frontend-common公共组件库。之前的组件库一直是以源码依赖的形式存在,即各个项目通过git submodule的方式将该仓库引入到各个项目中,作为一个…

【K8S 云原生】K8S的对外服务—ingress

目录 一、K8S的Service 1、Service的作用 2、Service类型: 二、ingress 1、ingress的组成: 2、ingress资源的定义项: 3、ingress暴露服务端的方式 3.1、DeploymentLoadBalancer模式: 1、工作流程图: 3.2、Dae…

PDF转PowerPoint - Java实现方法

通过编程实现PDF转PPT的功能,可以自动化转换过程,减少手动操作的工作量,并根据需要进行批量转换。将PDF文件转换为PPT文档后,可以利用PPT的丰富功能和动画效果,达到更好的演示效果。 在Java中,我们可以使用…

PyTorch损失函数(二)

损失函数 5、nn.L1Loss nn.L1Loss是一个用于计算输入和目标之间差异的损失函数,它计算输入和目标之间的绝对值差异。 主要参数: reduction:计算模式,可以是none、sum或mean。 none:逐个元素计算损失,返…

清晰光谱空间:全自动可调波长系统的高光谱成像优势

高光谱成像技术 高光谱成像技术是一种捕获和分析宽波长信息的技术,能够对材料和特征进行详细的光谱分析和识别。高光谱成像技术的实现通过高光谱相机,其工作原理是使用多个光学传感器或光学滤波器分离不同波长的光,并捕获每个波段的图像&…

Node+Express编写接口---服务端

开始: 个人兴趣爱好,欢迎大家多多指教!(点击直达源码!) node_vue_admin: 第一个以node为后端,vue为前端的后台管理项目https://gitee.com/ah-ah-bao/node_vue_admin.git 第一步:安装 安装Node.js 点击直达Node.js (nodejs.org) 安装Navic…

点赞模块设计 - Redis缓存 + 定时写入数据库实现高性能点赞功能

点赞模块设计 - Redis缓存 定时写入数据库实现高性能点赞功能 源码地址:github.com/cachecats/c… 点赞是作为整个系统的一个小模块,代码在 user-service 用户服务下。 本文基于 SpringCloud, 用户发起点赞、取消点赞后先存入 Redis 中,再…

WordPress回收站自动清空时间?如何关闭回收站或设置自动清理天数?

我们在WordPress后台的文章、页面、评论等页面都可以看到有回收站,意思就是我们不能直接删除某篇文章、页面、评论,而是需要现将它们移至回收站,然后再到回收站永久删除,或等回收站自动清理。 如上图所示,WordPress 6.…

javacv和opencv对图文视频编辑-裸眼3D图片制作

通过斗鸡眼,将左右两张相似的图片叠加到一起看,就会有3D效果。 3D图片,3D眼镜,3D视频等原理类似,都是通过两眼视觉差引起脑补产生3D效果。 图片: 图片来源: 一些我拍摄的真*裸眼3D照片 - 哔哩…

Java21 + SpringBoot3集成Spring Data JPA

Java21 SpringBoot3集成Spring Data JPA 文章目录 Java21 SpringBoot3集成Spring Data JPA前言相关技术简介ORM(Object-Relational Mapping,对象-关系映射)JPA(Java Persistence API,Java持久层API)Hiber…

新版K8s:v1.28拉取Harbor仓库镜像以及本地镜像(docker弃用改用containerd,纯纯踩坑)

目录 一、项目概述二、环境三、项目样式Harborkuboard运行样式 四、核心点Harbor安装config.toml文件修改(containerd)ctr、nerdctl相关命令kuboard工作负载 五、总结 一、项目概述 使用Kuboard作为k8s集群的管理平台,Harbor作为镜像仓库,拉取Harbor镜像…