pyqt5-QWidget窗口

发布时间 2023-07-02 02:49:09作者: 挖洞404

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

2、显示

(1)show和hide

  • 将组件显示到父容器中,或者从父容器中隐藏。隐藏时,不占据位置,其它组件会填充
  • 如果是窗口组件独立存在,需要显式调用show方法才能出现窗口,否则只创建、可使用,但不显示。如果是一般窗口,则默认会直接显示,不需要调用show
  • 如果使用hide方法,隐藏组件。则可以使用show方法,将隐藏组件显示

(2)其它显示方法

showFullScreen(self)
showMaximized(self)
showMinimized(self)
showNormal(self)

isFullScreen(self) -> bool
isMaximized(self) -> bool
isMinimized(self) -> bool

isHidden(self) -> bool

 (3)关闭和销毁

close(self) -> bool
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
  • close一般只是将窗口隐藏,而窗口实体实际上还存在于内存中,等待再次显示。通过某个设置,也可以使其在关闭后进行销毁
  • destroy则销毁窗体。默认destroyWindow为True,即关闭所在窗口;默认destroySubWindows也为True,即关闭打开的子窗口
  • 下面的代码,窗口关闭后,休眠结束仍然可以再直接显示
self.window.close()
time.sleep(3)
self.window.show()

 (4)update

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