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

这篇具有很好参考价值的文章主要介绍了Pyside6入门教学——编写一个UI界面并显示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、安装Pyside6

  • 输入下列命令安装Pyside6。
    • pip install Pyside6
    • Pyside6入门教学——编写一个UI界面并显示,Python,python

2、设计UI

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

3、转换为py文件

  • 打开终端,进入ui文件所在的路径。输入命令进行转换:
    • PySide6-uic SedentaryReminder.ui -o ui_SedentaryReminder.py
  •  得到py文件。
    • Pyside6入门教学——编写一个UI界面并显示,Python,python
    • # -*- 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()  # 避免程序执行到这一行后直接退出
  • 运行显示界面。 
    • Pyside6入门教学——编写一个UI界面并显示,Python,python
    • 【注】这只是简单地显示了UI界面,并没有具体的功能实现。

文章来源地址https://www.toymoban.com/news/detail-806786.html

到了这里,关于Pyside6入门教学——编写一个UI界面并显示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Pyside6:加载.ui

    通常来说开发Qt的界面基本都在Qt Designer中进行的,它保存的文件为.ui,我们可以通过uic将其转变为.py文件(如何使用:Pyside6:安装及Pycharm配置_pyside6安装pycharm-CSDN博客)。 那么该如何进行加载呢?大致来说有两种方法: 这个非常简单,无需把.ui文件进行转换,但 loader.loa

    2024年02月03日
    浏览(40)
  • PySide6 拖拖拽拽完成图形界面设计

    Designer是PySide6 程序UI界面的实现工具,Designer工具使用简单,可以通过拖拽和点击完成复杂界面设计,并且设计完成的.ui程序可以转换成.py文件供python程序调用。 使用Designer构建你的UI。 Designer是一个功能强大的图形用户界面设计器,可让您在不编写代码的情况下创建和配置表

    2024年02月15日
    浏览(77)
  • PySide6 将.ui文件编译为.py文件

    1. 制作UI 平时使用QT creator设计器设计UI,然后可将其转化成 .py 文件,以供 .py 脚本使用。 2.Pyside6 转换ui为 .py 文件 pyside6使用过程: 生成的py文件: 3. .py 文件国际化 通过pyside6-uic生成的 .py 代码中,中文或文本将使用unicode表示,即:“机器人设置”(u\\\"u673au5668u4ebau8bbeu

    2024年02月12日
    浏览(49)
  • 使用pyside6将ui文件转换为py

    在MainWindow.ui文件所在文件夹搜索栏输入cmd,点击回车键; 示意图如下: 直接输入下述代码: 示意图如下:

    2024年04月23日
    浏览(38)
  • PySide6:Qt Designer UI文件的两种使用方式

    通过Qt Designer(PyQt6与PySide6对应的Designer设计的界面生成的UI文件有区别)设计的界面会生成对应的UI文件,一般会使用PyUIC工具将UI文件转换为对应的Py文件来使用,后面每次界面发生更新时都要重新转换一次,比较麻烦;另外,如果直接在UI文件中添加自己的代码,如信号与槽

    2024年02月11日
    浏览(45)
  • Pyside6(3): 自动生成UI的Qt参数输入对话框

    参数输入界面是桌面软件开发最繁琐的部分之一。特别是当系统中存在多种可编辑的数值模型时,由于各个模型的字段不同,每个字段的输入类型也不同,需要制作不同的UI,使用不同的UI控件,无疑会耗费大量时间,同时拓展性也非常差,因为每增加一个数值模型,都需要制

    2024年02月03日
    浏览(56)
  • Python学习笔记——PySide6设计GUI应用之UI与逻辑分离

    1、打开PySide6的UI设计工具pyside6-designer,设计一个主窗口,保存文件名为testwindow.ui 2、使用PySide6的RCC工具把testwindow.ui文件转换为testwindow_rc.py文件,此文件中有一个类Ui_MainWindow(包含各种控件对象) 一、通过类继承实现: class TestMainWindow(QMainWindow, Ui_MainWindow): 定义了一个新的

    2024年04月16日
    浏览(52)
  • Pyside6实现自定义widget嵌套(自定义widget为独立ui文件)

    在实际项目开发中,可能存在需要将自定义的widget嵌入到某一窗口的情况,或者为维护简洁方便,将一个大的UI文件拆分为多个独立的UI文件进行管理。这时就存在不同窗口的ui文件进行嵌套。 以widget控件为例,对实现过程进行记录,类间关系如下: 主窗口为自己编写的Main

    2024年02月08日
    浏览(41)
  • 【Unity之UI编程】编写一个面板交互界面需要注意的细节

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 :Unity基础实战 当登录成功后,将玩家信息类通过,UI管理器中的显示加载方法中的委托函数,进行,加载面板后的逻辑处理(在里面执行

    2024年02月05日
    浏览(45)
  • Pyside6/PyQT 项目实战,从0开始写一个GUI可视化项目:总览

    最近使用 Pyside6 编写了几个 GUI 工具,发现效果出奇的好。遂产生了分享它的念头。 接下来如果不出意外,大概没有意外,我会开始写 这个专栏 ,介绍从零开始去编写一个实用的 GUI 工具。 这是 Pyside6 第一篇:《总览》 本文对Pyside6在开发使用中进行了知识点的提炼,所以后

    2023年04月22日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包