使用PySide6创建窗口以及各类窗口的区别

在本文中,你将了解Qt的窗口,以及QMainWindowQWidgetQDialog之间的区别和在PySide6中的使用方法;

Qt主要使用PySide6.QtWidgets.QMainWindowQWidgetQDialog这几个类创建窗口;

区别

QMainWindow,Qt的主窗口管理类;某些部件如菜单QMenuBar、状态栏QStatusBar只能在QMainWindow上显示;

QDialog,Qt的对话框窗口基类,主要用于短期任务(如设置窗口)和用于与用户进行简短的交流;QDialog可以是模态和非模态的,通俗点说就是它可以在窗口没关闭前,它的父窗口无法选中;QDialog继承自QWidget

QWidget,是Qt中所有用户界面对象(像按钮、文本框)的基类;

创建窗口

PySide6创建窗体是非常简单的,示例代码如下:

import sys
from PySide6 import QtWidgets

import ui_xxxx # 创建UI的代码,如果有的话

class MyWindow(QtWidgets.QMainWindow):#继承QMainWindow
    def __init__(self):
        super().__init__()
        
        #在此创建窗体上的部件

        #使用UI文件创建部件,如果有的话
        self.ui = ui_xxxx.Ui_MainWindow()
        self.ui.setupUi(self)

if __name__ == "__main__":
    app = QtWidgets.QApplication([])

    window = MyWindow() #实例化窗口
    window.show()#显示
    sys.exit(app.exec())

代码中定义了一个MyWindow的类,继承自QMainWindowMyWindow经过实例化后即可调用show()方法显示窗口;

如果使用了槽函数,只需在MyWindow类中定义或重新定义即可;

使用QDialog

class MyDialog(QtWidgets.QDialog):
    def __init__(self):
        super().__init__()
        
        #在此创建窗体上的部件

        #使用UI文件创建部件,如果有的话
        self.ui = ui_xxxx.Ui_Dialog()
        self.ui.setupUi(self)

使用QWidget

class MyWidget(QtWidgets.QWidget):
    def __init__(self):
        super().__init__()
        
        #在此创建窗体上的部件

        #使用UI文件创建部件,如果有的话
        self.ui = ui_xxxx.Ui_Form()
        self.ui.setupUi(self)

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/pyside6-window.html

分类: 计算机技术
推荐阅读:
PySide6控件教程中的一些约定 在本教程中,我们将介绍一些在PySide6中使用控件时的常用代码和内容约定,以帮助您编写易于理解、易于维护和高质量的GUI应用程序。
使用Python获取目录下的所有文件 要获取一个目录下的所有文件,你可以使用Python中的os和os.path模块。下面是一个获取目录下所有文件的例子代码:
undefined reference to `WinMain' 解决方法 使用gcc对C代码进行编译时提示undefined reference to `WinMain',collect2.exe: error: ld returned 1 exit status;详细的信息大致如下:
C语言实现矩阵乘法Strassen算法 本文将使用C语言来实现Strassen算法,将两个矩阵相乘;
Python 异常处理及常见错误 一般情况下,在python无法正确处理程序时,就会发生异常;当发生异常时,我们需要捕获它并进行处理,否则程序会终止运行。
Python pdb调试器详细教程 在Python可使用一个叫pdb的模块用于调试代码;pdb模块为Python程序定义了一个交互式的源代码调试器,你可通过它设置断点、逐行执行、堆栈检查等等常用调试功能;