pyqt5-QMainWindow

发布时间 2023-04-16 23:40:08作者: 挖洞404

1、介绍

QMainWindow是一个窗口组件,也是最常用的主窗口。

import sys

from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5.uic import loadUi


class my_window:
    def __init__(self):
        self.ui = loadUi('ui\\main_window.ui')
        self.ui: QMainWindow
        self.ui.show()


if __name__ == "__main__":
    app = QApplication([])
    w = my_window()
    sys.exit(app.exec_())

  • self.ui这里即QMainWindow对象

2、类和初始化

class QMainWindow(QWidget):
    def __init__(self, parent=None, flags, Qt_WindowFlags=None, Qt_WindowType=None, *args, **kwargs):
        pass

3、属性

类中具有的一些全局属性:

    AllowNestedDocks = 2
    AllowTabbedDocks = 4
    AnimatedDocks = 1
    ForceTabbedDocks = 8
    GroupedDragging = 32
    VerticalTabs = 16

4、方法

大多数方法在QWidget中已经声明

(1)parent

  • 获取父组件,注意不是当前组件继承的父类,而是该组件所绑定到的组件,一般是指在开发过程中声明组件时parent属性初始化指向的组件对象
  • 测试,QMainWindow对象这里默认没有父组件,返回None值

(2)objectName

  • 获取对象的名称,返回类型str,这是组件对象所必须的属性,在同一窗口下,组件名称需要唯一
  • 组件名称可以用于调用对象

(2)setObjectName

  • 设置组件对象的名称,参数为str类型

(3)iconSize

  • 返回窗口图标的大小,类型PyQt5.QtCore.QSize(30, 30)

(4)setIconSize

setIconSize(self, QSize) 
  • 设置图标的大小

5、事件