pyqt5-QWidget

发布时间 2023-07-02 02:44:05作者: 挖洞404

1、介绍

QWidget是几乎所有pyqt显示用组件的直接或间接父类,其声明的属性和方法很具有代表性。

QWidget既可以是窗口组件,独立显示,可以容纳其他组件。也可以是一般组件,被其他组件容纳。

常用的窗口组件包括QWidget、QMainWindow和QDialog。其它组件继承QWidget,也能够作为窗口独立存在,但是一般不会使用。

  • QWidget作为最简单的组件,被广泛使用
  • QMainWindow相比于其他窗口组件,可以设置窗口的菜单栏
  • QDialog用于对话框

2、类和初始化

class QWidget(__PyQt5_QtCore.QObject, __PyQt5_QtGui.QPaintDevice):
    def __init__(self, parent=None, flags, Qt_WindowFlags=None, Qt_WindowType=None, *args, **kwargs):
        pass

3、一般方法

3.1 窗口、窗口标题和窗标

(1)window

  • 返回当前组件的窗口对象,如果本身就是窗口,则返回本身对象
  • 比如QMainWindow对象调用该对象,返回类型即QMainWindow

(2)setWindowTitle

  • 设置窗口标题,参数为str类型

(3)windowTitle

  • 获取窗口标题,返回类型为str类型。
  • 如果没有个性设置,QMainWindow的默认窗口标题就为MainWindow

(4)setWindowIcon

setWindowIcon(self, QIcon)
  • 设置窗口图标,参数类型是QIcon
  • 注意这里QIcon类型对象的创建可能存在问题,加载崩溃,待解决?

(5)windowIcon

  • 返回窗口图标,PyQt5.QtGui.QIcon类型
  • 如果没有手动设置,则会返回默认的窗口图标,而非None

3.2 其它

(1)setToolTip

  • 设置工具提示文本,参数为str
  • 一般组件设置后,将鼠标放到组件上,会提示设置的文本。经测试,QMainWindow对象可以设置和获取tooltip,但是不会显示

(2)toolTip

  • 获取工具提示文本,返回类型为str

4、事件

# 右键菜单
customContextMenuRequested(self, pos: QPoint) [signal]
# 窗口图标改变
windowIconChanged(self, icon: QIcon) [signal]
# 窗口图标文本改变
windowIconTextChanged(self, iconText: str) [signal]
# 窗口标题改变
windowTitleChanged(self, title: str) [signal]
  • QWidget有且只有这四个事件,值得注意的是,clicked点击事件并不在其中

5、直接的窗口

QWidget可以直接创建,作为主窗口,其没有菜单栏和工具栏。