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

分类: 计算机技术
推荐阅读:
Kali更新源的方法和优质国内源 所谓的Kali源,你可以将它理解为软件仓库,系统通过它安装和更新软件;源的服务器地址写在/etc/apt/sources.list文件中;当系统使用的当前源不可用或速度不理想时,就需要更换源;
PySide6 使用QIcon为按钮添加图标 在PySide6中为按钮添加图标,可以使用QIcon类来加载图标文件,并使用QPushButton类的setIcon()方法将图标设置给按钮;
Python map()函数 map() 是 Python 中的一个内置函数,它接受一个函数和一个或多个可迭代对象作为输入,返回一个新的可迭代对象,其中每个元素都是将输入函数应用于相应元素的结果。
cannot use 1 (type int) as type bool in assignment错误的解决方法 在go语言中布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。
Pythone内置函数 Python 内置函数是 Python 解释器提供的函数库,这些函数可以直接使用,无需导入任何模块。
Python实现字符串大小写转换 你可能会使用字符串的upper()方法将字符串中的字母全部转换成大写,或使用lower()方法将字符串中的字母全部转换成小写;那如何将字符串中的大写转换成小写、小写转换从大写呢?本文将使用Python实现这一功能;