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

分类: 计算机技术
推荐阅读:
Python format()函数 Python 内置的 format() 函数是一种字符串格式化输出的方法,可以将变量插入到字符串中,并控制输出的格式。
C语言交换两个变量 在C语言中交换两个变量,需要创建一个临时变量来存储其中的一个值;例如交换a,b两个值时,需创建一个临时变量保存a的值,再将b值赋予a,最后将临时变量的值赋予b,完成交换过程;
PyQt5:设置Fusion风格 PyQt5可以轻松修改界面的主题样式,而Fusion Style是比较常见且非常漂亮的主题风格;
为什么MD5说是128位,却只有32个字符? 为什么MD5说是128位,却只有32个字符?这是因为这两个长度的概念不同;
Rust:if this is intentional, prefix it with an underscore解决方法 编译Rust程序时提示:if this is intentional, prefix it with an underscore: `_x`,这表明存在一个未使用的变量 x,你可以将其删除或在变量名前添加一个下划线前缀;
Python使用webbrowser模块来实现弹出一个网页 如果你希望在别人运行你的程序时弹出一个指向自己网站的页面,你可以通过以下代码来实现: