pyqt5-QWidget

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

1、介绍

QWidget是几乎所有pyqt组件的直接或间接父类,其声明的属性和方法很具有代表性。其他组件极大可能是直接使用,所以一般不再阐述。除非少数可能做了个性化覆写。

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、属性

类的全局属性:

    DrawChildren = 2
    DrawWindowBackground = 1
    IgnoreMask = 4

4、方法

(1)x

  • 返回x坐标,类型为int
  • 即当前组件左上顶点,相对于父组件左上顶点的水平方向距离,一般为正数。
  • 如果父组件不存在,比如说主窗口,其x是主窗口相对于屏幕的左上顶角确定。如果主窗口向左移动,将左上顶角隐藏,则x为负数值

(2)y

  • 返回y坐标,类型为int
  • 即当前组件左上顶点,相对于父组件左上顶点的垂直方向距离,一般为正数。
  • 如果父组件不存在,比如说主窗口,其y是主窗口相对于屏幕的左上顶角确定。

(3)width

  • 返回组件宽度,类型为int

(4)height

  • 返回组件高度,类型为int

(5)update

        update(self)
        update(self, QRect)
        update(self, QRegion)
        update(self, int, int, int, int)
  • 其具有四种调用方法,默认效果是进行组件的更新显示,某些组件设置可能存在无法立即刷新的效果,可以调用该方法,不用传参
  • 也可以设置组件的位置和大小。其位置是相对于父组件进行设置

(6)setToolTip

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

(7)toolTip

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

(8)close

  • 关闭当前组件

(9)show

  • 显示当前组件
  • QMainWindow组件必须手动调用该方法,才会显示。如果没有调用该方法,组件仍然会创建,程序运行中,但是不会显示

(10)pos

  • 获取组件的位置,返回类型’PyQt5.QtCore.QPoint’
  • 其值获取的实际是当前组件的左上顶角,相对父组件左上顶角的位置。如果没有父组件,比如QMainWindow,则其是相对于屏幕进行返回。
  • QPoint的数据格式是(x,y),x表示水平方向,y表示垂直方向,一般都为正数。而主窗口相对于屏幕移动,将部分隐藏到水平方向的左侧超出屏幕范围,会显示x为负数的值

(11)move

        move(self, QPoint)
        move(self, int, int)
  • 移动组件的位置
  • 两种调用方法,设置是相对于父组件的绝对位置

(12)destroy

def destroy(self, destroyWindow=True, destroySubWindows=True)
  • 该方法是用于关闭窗口用的,与close关闭当前组件区分
  • 默认destroyWindow为True,即关闭所在窗口;默认destroySubWindows也为True,即关闭打开的子窗口

(13)window

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

(14)setWindowTitle

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

(15)windowTitle

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

(16)setWindowIcon

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

(17)windowIcon

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

5、事件

6、直接的窗口

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