Pyside6实现界面与逻辑分离

import sys

from PySide6 import QtCore

from PySide6 import QtWidgets

from PySide6 import QtUiTools

from PySide6.QtWidgets import QApplication, QMainWindow,QMessageBox

from importlib

import import_module

import ui_pysidewindow #通过ui文件自动生成的python文件

界面ui对应的ui_pysidewindow.Ui_MainWindow类不能直接使用,二种方式实现:

1、关联界面类

class MainWindow(QMainWindow):

    def __init__(self):

        super(MainWindow, self).__init__()

        self.ui = ui_pysidewindow.Ui_MainWindow() 

        self.ui.setupUi(self)

        self.createConnect__()  #信号槽实现消息传递,不要在通过ui文件自动生成的python文件中实现,因为修改ui重新生成后会丢失

    def createConnect__(self):

        self.ui.pushButton.clicked.connect(self.pushButtonClidked)

    def pushButtonClidked(self):

        QMessageBox.information(self,'标题','测试')

2、通过类继承实现

class MainWindow(QMainWindow,ui_pysidewindow.Ui_MainWindow):

    def __init__(self):

        super(MainWindow, self).__init__()

        self.setupUi(self)

        self.createConnect__()  #信号槽实现消息传递,不要在通过ui文件自动生成的python文件中实现,因为修改ui重新生成后会丢失

    def createConnect__(self):

        self.pushButton.clicked.connect(self.pushButtonClidked)

    def pushButtonClidked(self):

        QMessageBox.information(self,'标题','测试')

主程序入口:

if __name__ == "__main__":

    app = QApplication(sys.argv)

    window = MainWindow()

    window.show()

    sys.exit(app.exec())

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PySide6 是 Qt for Python 的官方绑定库,可以通过它来使用 Qt 框架的各种功能,包括创建 UI 界面。在 PySide6 中,UI 界面可以使用 Qt Designer 工具进行设计,生成的 UI 文件可以使用 PySide6 中的 uic 模块进行加载。以下是实现 PySide6 UI 界面的简单步骤: 1. 使用 Qt Designer 工具设计 UI 界面并保存为 .ui 文件。 2. 在 Python 代码中使用 uic 模块加载 UI 文件,将其转化为 Python 代码。 3. 在 Python 代码中创建 QWidget 的实例,将 UI 界面作为参数传递给该实例,并显示该界面。 下面是一个简单的 PySide6 UI 界面的示例代码: ```python import sys from PySide6.QtWidgets import QApplication, QWidget from PySide6.QtUiTools import loadUi class MyWidget(QWidget): def __init__(self): super().__init__() # 加载 UI 文件并将其转化为 Python 代码 loadUi('mywidget.ui', self) # 显示 UI 界面 self.show() if __name__ == '__main__': app = QApplication(sys.argv) widget = MyWidget() sys.exit(app.exec()) ``` 在这个示例中,我们首先定义了一个名为 MyWidget 的,该继承自 QWidget 。在 MyWidget 的构造函数中,我们使用 loadUi 函数加载了名为 mywidget.uiUI 文件,并将其转化为 Python 代码,并将该实例设置为 MyWidget 的子窗口,并显示该界面。最后,在程序入口处我们创建了 QApplication 的实例,并将 MyWidget 的实例作为程序的主窗口,最后启动应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值