PyQt5 让窗口在桌面居中的办法

本文展示了如何在Python的PyQt5框架下,通过编写center方法并调用QDesktopWidget的screenGeometry方法,实现窗口在屏幕中央自动定位。在Example类的初始化中,调用center方法使窗口在启动时居中。此外,还添加了键盘事件监听,当用户按下回车键时,窗口将自动关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

屏幕居中核心函数

  • 在我们开发的UI类中定义一个center方法,(方法名自定,内容如下)。其中QDesktopWideget方法在Qtwidgets头文件中。

  • 然后在 __init__()中调用该 self.center() 方法即可。

    # 屏幕居中
    def center(self):
    	# 获取窗口大小
        screen = QtWidgets.QDesktopWidget().screenGeometry()
        size = self.geometry()

		# 本窗体运动
        self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)

完整代码

用例可直接复制运行

# coding: utf-8

import sys
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import Qt
from PyQt5 import QtWidgets


class Example(QWidget):
    def __init__(self):
        super(Example, self).__init__()
        self.initUI()
        self.center()

    # 屏幕居中
    def center(self):
        screen = QtWidgets.QDesktopWidget().screenGeometry()
        size = self.geometry()
        self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)

    # 屏幕初始化
    def initUI(self):
        self.setGeometry(300, 300, 300, 300)
        self.show()
        self.setWindowTitle('Event handle')

	# 按下回车关闭
    def keyPressEvent(self, e):
        if e.key() == Qt.Key_Return:
            self.close()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值