当前位置: 首页 > article >正文

PySide6百炼成真(3)

QtDesigner

在这里插入图片描述
关于这一整个界面的空间和属性可以自行尝试或者查看官方文档.
在这里插入图片描述

如果你去网上搜索那大概率会看到pyside6得用指令转换.py
其实可以动态加载.ui文件,就不需要转换成.py文件了,修改ui后也无需再转换成.py文件

from PySide6.QtWidgets import QApplication, QMessageBox
from PySide6.QtUiTools import QUiLoader

# 在QApplication之前先实例化
uiLoader = QUiLoader()

class Stats:

	def __init__(self):
	# 再加载界面
	self.ui = uiLoader.load('main.ui')
	
	# 其它代码 ...

app = QApplication([])
stats = Stats()
stats.ui.show()
app.exec() # PySide6 是 exec 而不是 exec_

from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget, QLineEdit
from PySide6.QtCore import Qt
import os

# 在QApplication之前先实例化
uiLoader = QUiLoader()


class MyWindow(QWidget):
    def __init__(self):
        super().__init__()


class Stats:
    def __init__(self):
        # 构建 UI 文件的路径
        ui_file_path = os.path.join(os.path.dirname(__file__), 'ui', 'test.ui')

        # 检查文件是否存在
        if not os.path.exists(ui_file_path):
            raise FileNotFoundError(f"UI file '{ui_file_path}' not found.")

        # 再加载页面
        self.ui = uiLoader.load(ui_file_path)


if __name__ == '__main__':
    app = QApplication([])

    try:
        stats = Stats()
        stats.ui.show()
    except FileNotFoundError as e:
        print(e)
    except RuntimeError as e:
        print(f"Error loading UI: {e}")

    app.exec()

在这里插入图片描述
也可以这样:

from PySide6.QtUiTools import QUiLoader
from PySide6.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget, QLineEdit
from PySide6.QtCore import Qt
import os

# 在QApplication之前先实例化
uiLoader = QUiLoader()


class MyWindow(QWidget):
    def __init__(self):
        super().__init__()


class Stats:
    def __init__(self):
        # 直接使用相对路径
        ui_file_path = 'ui/test.ui'

        # 检查文件是否存在
        if not os.path.exists(ui_file_path):
            raise FileNotFoundError(f"UI file '{ui_file_path}' not found.")

        # 再加载页面
        self.ui = uiLoader.load(ui_file_path)


if __name__ == '__main__':
    app = QApplication([])

    try:
        stats = Stats()
        stats.ui.show()
    except FileNotFoundError as e:
        print(e)
    except RuntimeError as e:
        print(f"Error loading UI: {e}")

    app.exec()

三个窗体界面
大家想象一下你走在我们的高速公路上,我们的高速公路一共有几种车?跟我们的窗体一样一共三种,特车,轿车跟我们的卡车,这在告示牌上可以看见,那这个跟我们要学习的窗体有什么关系呢?实际上我们的窗体跟我们告示牌,不同窗体有不同的责任,QMianWindow(它有自己的布局,自带很多东西,菜单栏,消息区…),QWidegt(小白轻松上手的窗体),QDialog(可以把窗口置顶,对话框,如果你有浏览过一些网站比如是否年满xx岁如果你不点击那么你是点不了地方的,叫模态窗口),一般都是用QWidget,除非大项目用QMainWindow


http://www.kler.cn/a/387683.html

相关文章:

  • 【Playwright + Python】系列(十)利用 Playwright 完美处理 Dialogs 对话框
  • pgsql和mysql的自增主键差异
  • 《JavaEE进阶》----20.<基于Spring图书管理系统①(登录+添加图书)>
  • 【Java学习】电脑基础操作和编程环境配置
  • S32G-VNP-RDB2开发环境搭建
  • 解决vite项目tailwindcss不生效!!(Vue3、tailwindcss失效)
  • 钉钉 H5 微应用 手机端调试
  • vue的组件使用
  • 如何管理PHP API版本
  • 33.Redis多线程
  • LSTM预测未来七天的数据
  • 力扣力扣力:91.解码方法
  • 【ChatGPT】让ChatGPT生成产品或项目的详细方案
  • day06|计算机网络重难点之 TCP连接如何确保可靠性、拥塞控制如何实现、TCP流量控制如何实现、UDP如何实现可靠传输
  • SpringBoot在城镇保障性住房管理中的应用
  • list集合常见去重方式以及效率对比
  • 双指针算法的妙用:提高代码效率的秘密(2)
  • 一文了解什么是医学科技查新
  • 【MacOS开发环境配置与应用开发--详细教程】
  • 打字机效果显示
  • 替换前端logo
  • 数据结构 ——— 计算链式二叉树第k层的节点个数
  • 陪诊问诊APP开发实战:基于互联网医院系统源码的搭建详解
  • 单片机串口接收状态机STM32
  • [Web安全 网络安全]-DoS(拒绝服务攻击)和DDoS(分布式拒绝服务攻击)
  • 二进制与网络安全