使用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

分类: 计算机技术
推荐阅读:
C语言ispunct()函数:判断字符是否为标点符号 ispunct()是C语言标准库中的一个函数,用于检查一个字符是否为标点符号;如果传入的字符参数是标点符号,则返回非0值,否则返回0;
使用requests请求后的响应内容 使用Requests进行get请求或post请求后,requests会返回一个Response对象;
undefined reference to `WinMain' 解决方法 使用gcc对C代码进行编译时提示undefined reference to `WinMain',collect2.exe: error: ld returned 1 exit status;详细的信息大致如下:
Python getattr()函数 getattr() 函数是 Python 内置函数之一,用于获取一个对象的指定属性值。
Rust:variable does not need to be mutable警告解决方法 在Rust中,当你使用了mut关键字声明变量,但你后面的代码并没对该关键字进行修改,则rust编译器会产生 variable does not need to be mutable 的警告提示;
C语言isxdigit()函数:判断字符是否为十六进制数字字符 isxdigit()是C语言标准库中的一个函数,用于判断一个字符是否为十六进制数字字符;十六进制数字包括0~9之间的数字,以及A~F的字母(不区分大小写);