0
点赞
收藏
分享

微信扫一扫

PyQt5初始化主窗口位于屏幕中间


阅读这篇的前提是已经默认了解了PyQt5的基础框架。我们进一步介绍如何将初始化的主界面放置在屏幕中央。代码如下:

# -*- coding:utf-8 -*-
import sys
from PyQt5.QtWidgets import QDesktopWidget, QApplication, QMainWindow


class WinForm(QMainWindow):
def __init__(self, parent=None):
super(WinForm, self).__init__(parent)
self.setWindowTitle('主窗口初始化位于屏幕中间举例')
self.resize(800, 640)
self.setCenter()

def setCenter(self):
screen = QDesktopWidget().screenGeometry()
size = self.geometry()
self.move(int((screen.width() - size.width()) / 2), int((screen.height() - size.height()) / 2))


if __name__ == '__main__':
app = QApplication(sys.argv)
win = WinForm()
win.show()
sys.exit(app.exec_())

各个语句的解释:
​​​QDesktopWidget()​​​ :一个描述屏幕的类,这个类需要从​​PyQt5.QtWidgets​​​中导入。
​​​QDesktopWidget().screenGeometry()​​​:获取屏幕的尺寸信息,也可以理解为屏幕的分辨率信息。获取到的屏幕信息有两个属性,一个是​​width​​​对应屏幕的长度,一个是​​height​​​对应屏幕的宽度。
​​​size = self.geometry()​​​:获取控件的尺寸信息,这里的控件指的就是我们已经创建的​​QMainWindow​​​对象。
​​​self.move(int((screen.width() - size.width()) / 2), int((screen.height() - size.height()) / 2))​​​:将​​QMainWindow​​初始化时放置于屏幕的中心位置。

PyQt5初始化主窗口位于屏幕中间_GUI


我们知道设定控件位置的时候,控件位置的摆放是根据左上角点的位置来确定的,因此我们可以想象​​self.move(int((screen.width() - size.width()) / 2), int((screen.height() - size.height()) / 2))​​相当于将屏幕切了一半,然后分别用屏幕总长、宽的一半减去控件长、宽的一半,这样就得到了控件左上角点应该被摆放的位置的坐标。

码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~


举报

相关推荐

0 条评论