pyqt5让主窗口居中显示

让主窗口居中显示

获取屏幕宽度和高度
QDesktopWidget获取屏幕对象
QDesktopWidget().screenGeometry()获取屏幕坐标系
QDesktopWidget().screenGeometry().width()获取屏幕宽度
获取高度相同

 

获取窗口宽度和高度
QMainWindow.geometry()获取窗口坐标系
QMainWindow.geometry().width()获取窗口宽度
获取高度相同

 

移动窗口到指定位置
QMainWindow.move(左边缘位置,上边缘位置)移动窗口

 

# -*- coding:utf-8 -*-
import sys
# 倒入主程序及窗口类
# QDesktopWidget屏幕对象
from PyQt5.QtWidgets import QDesktopWidget, QApplication, QWidget, QMainWindow,QDialog
# 倒入添加图标类
from PyQt5.QtGui import QIcon


# 自定义UI创建窗口类,集成主窗口类
class chj_MainWindow(QMainWindow):
    def __init__(self, chk_title="默认标题"):
        """
        chk_title,接受窗口标题名称,接收字符串
        """
        # 执行窗口ui方法
        super(chj_MainWindow, self).__init__()
        # 执行窗口标题方法
        self.setWindowTitle(chk_title)
        # 设置窗口尺寸
        self.resize(800, 400)

    def ju_zhong(self):
        """
        自定义窗口居中函数
        """
        # QDesktopWidget获取屏幕对象
        # QDesktopWidget().screenGeometry()获取屏幕坐标系
        pinmuzuib = QDesktopWidget().screenGeometry()

        # QMainWindow.geometry()获取窗口坐标系
        size = self.geometry()

        # 计算窗口居中左边缘位置
        # 屏幕宽度减去窗口宽度在除以2等于=窗口左边缘位置
        jzhzuo = (pinmuzuib.width() - size.width()) / 2

        # 计算窗口居中上边缘位置
        # 屏幕高度减去窗口高度在除以2等于=窗口上边缘位置
        jzhsh = (pinmuzuib.height() - size.height()) / 2

        # 移动窗口
        # QMainWindow.move(左边缘位置,上边缘位置)移动窗口
        self.move(jzhzuo, jzhsh)


if __name__ == "__main__":
    # 创建一个桌面应用程序类
    app = QApplication(sys.argv)
    # 创建应用程序图标
    app.setWindowIcon(QIcon('./ico/parrot.ico'))

    # 创建一个窗口
    w = chj_MainWindow('替换默认标题')
    # 窗口居中
    w.ju_zhong()

    # 显示窗口
    w.show()

    # 进入程序的主循环,并通过exit函数确保主循环安全结束
    sys.exit(app.exec_())

 叫卖录音广告   叫卖广告录音

posted @ 2024-06-24 11:23  林贵秀  阅读(70)  评论(0编辑  收藏  举报