PyQt5编程(9):窗口在屏幕的位置与管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt5编程(9):窗口在屏幕的位置与管理相关的知识,希望对你有一定的参考价值。

参考技术A 设置窗口在屏幕的位置可使用以下函数:
move(int x,int y)
move(QPoint p)
窗口的位置是相对于父窗口的,已包括标题栏的高度和边框的宽度。
setGeometry(int x,int y,int w,int h)
setGeometry(QRect r)
setGeometry()可同时设置窗口的位置和尺寸,与move()不同,x,y的值不包括题栏的高度和边框的宽度。所以,如果执行setGeometry(0,0,500,200),窗口的标题栏和边框在屏幕之外,而无法显示在屏幕上。
注意:
原点位置左上角。x 轴向右,y轴向下。
获取窗口位置的函数有:
x():获取窗口的x轴位置;
y():获取窗口的y轴位置;
pos():返回包含x,y轴位置的QPoint实例;
geometry():返回包含x,y轴位置以及窗口宽、高的QRect实例;这些值不包括标题栏的高度和边框的宽度。
frameGeometry():返回的参数与geometry()相同,但包括标题栏的高度和边框的宽度且要在显示之后调用才有效。
例如:

要让窗口显示在屏幕中央,就需要知道屏幕的尺寸。可调用静态函数QApplication.desktop()来获取代表桌面的QDesktopWidget 对象。
再通过调用QDesktopWidget类的函数得到相应值:
width():屏幕宽度的像素值;
height()::屏幕高度的像素值;
screenGeomtry():返回整个屏幕的位置和尺寸的QRect对象;
availableGeomtry():返回屏幕可用区域的位置和尺寸的QRect对象,即扣除任务栏的区域。

例1:

例2:

PyQt5编程(10):窗口的最小化与最大化

参考技术A 一般窗口的标题栏上有最小化、最大化按钮,用鼠标点击它可以将窗口缩小成图标或最大化到整个屏幕。使用QWidget类的方法也可达到同样的目的:

可用下列函数来获得窗口的状态:

以上是关于PyQt5编程(9):窗口在屏幕的位置与管理的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Pyqt5 上保存我的窗口的大小和位置

主窗口前的PyQt5启动画面[重复]

PySide2(PyQt5)根据屏幕大小初始化窗口大小

在 PyQt5 中打开一个窗口和关闭一个窗口

如何将Emacs窗口/框架配置与屏幕位置一起存储

为啥 PyQt5 QWindow.setScreen() 不工作?