PyQt5每天必学之创建窗口居中效果

yipeiwu_com5年前Python基础

本文实例为大家分享了PyQt5如何能够创建在桌面屏幕上居中窗口的具体代码,供大家参考,具体内容如下

下面的脚本说明我们如何能够创建在桌面屏幕上居中的窗口。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个程序是将一个窗口显示在屏幕的中心。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年7月30日
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget

class Example(QWidget):

 def __init__(self):
  super().__init__()

  self.initUI()

 def initUI(self):

  self.setGeometry(300, 300, 300, 220)

  self.center()

  self.setWindowTitle('窗口居中')  
  self.show()

 def center(self):

  qr = self.frameGeometry()
  cp = QDesktopWidget().availableGeometry().center()
  qr.moveCenter(cp)
  self.move(qr.topLeft())

if __name__ == '__main__':

 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())

QtGui.QDesktopWidget 类提供了有关用户桌面的信息,包括屏幕尺寸。

self.center()

将居中窗口的代码放置在自定义 center() 方法中。

qr = self.frameGeometry()

frameGeometry() 方法允许我们创建一个无形矩形并根据主窗口的宽高设置自身的宽度与高度。简单理解就是将这个控件(QWidget)的几何内容(宽高位置等),赋值给qr

cp = QDesktopWidget().availableGeometry().center()

计算出你的显示器的屏幕分辨率。根据得到的分辨率我们得到屏幕的中心点。

qr.moveCenter(cp)

我们的矩形(qr)已有宽度和高度,现在设置移动矩形的中心(moveCenter)到屏幕的中心点(cp),矩形的尺寸是不变的。

self.move(qr.topLeft())

移动应用程序窗口的左上角到qr矩形的左上角,从而使应用程序窗口显示在屏幕的中心。

程序执行后

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 编程之twisted详解及简单实例

python 编程之twisted详解 前言:  我不擅长写socket代码。一是用c写起来比较麻烦,二是自己平时也没有这方面的需求。等到自己真正想了解的时候,才发现自己在这方...

Python中的exec、eval使用实例

通过exec可以执行动态Python代码,类似Javascript的eval功能;而Python中的eval函数可以计算Python表达式,并返回结果(exec不返回结果,print(e...

Python用户推荐系统曼哈顿算法实现完整代码

Python用户推荐系统曼哈顿算法实现完整代码

出租车几何或曼哈顿距离(Manhattan Distance)是由十九世纪的赫尔曼·闵可夫斯基所创词汇 ,是种使用在几何度量空间的几何学用语,用以标明两个点在标准坐标系上的绝对轴距总和。...

利用Python查看微信共同好友功能的实现代码

利用Python查看微信共同好友功能的实现代码

总有思路清奇的朋友存在,想实现查看微信共同好友:   由于之前分享的代码有获取过微信好友头像,所以当时第一反应是通过itchat微信接口获取好友信息,比对两个人的好友信息列表就...

利用Python实现图书超期提醒

利用Python实现图书超期提醒

一、模拟登录图书馆管理系统 我们可以先看一下登录页面(很多学校这些管理系统页面就是很low): 两种方式去模拟登录图书馆: 1. 构造登录表单进行模拟登录 这种方式模拟登录似乎是很可...