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


Posted in Python onApril 19, 2018

本文实例为大家分享了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矩形的左上角,从而使应用程序窗口显示在屏幕的中心。

程序执行后

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
pandas or sql计算前后两行数据间的增值方法
Apr 20 Python
Python3 log10()函数简单用法
Feb 19 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
python内置函数sorted()用法深入分析
Oct 08 Python
python 实现dict转json并保存文件
Dec 05 Python
windows下python安装pip方法详解
Feb 10 Python
Python类的绑定方法和非绑定方法实例解析
Mar 04 Python
keras之权重初始化方式
May 21 Python
python urllib和urllib3知识点总结
Feb 08 Python
python基于OpenCV模板匹配识别图片中的数字
Mar 31 Python
Python竟然能剪辑视频
May 25 Python
PyQt5每天必学之弹出消息框
Apr 19 #Python
详谈python3中用for循环删除列表中元素的坑
Apr 19 #Python
PyQt5每天必学之关闭窗口
Apr 19 #Python
python实现在IDLE中输入多行的方法
Apr 19 #Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 #Python
PyQt5每天必学之工具提示功能
Apr 19 #Python
PyQt5每天必学之QSplitter实现窗口分隔
Apr 19 #Python
You might like
php PDO中文乱码解决办法
2009/07/20 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
php实现的漂亮分页方法
2014/04/17 PHP
php 生成Tab键或逗号分隔的CSV
2016/09/24 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
xtree.js 代码
2007/03/13 Javascript
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
jQuery基础_入门必看知识点
2016/07/04 Javascript
微信小程序-详解数据缓存
2016/11/24 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
jquery使用EasyUI Tree异步加载JSON数据(生成树)
2017/02/11 Javascript
JavaScript实现按键精灵的原理分析
2017/02/21 Javascript
Electron 如何调用本地模块的方法
2019/02/01 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
vue 页面跳转的实现方式
2021/01/12 Vue.js
[02:44]重置世界,颠覆未来——DOTA2 7.23版本震撼上线
2019/12/01 DOTA
Python实现网站文件的全备份和差异备份
2014/11/30 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
助学贷款贫困证明
2014/09/23 职场文书
房屋所有权证明
2014/10/20 职场文书
个人简历自我评价怎么写
2015/03/10 职场文书
小学中队长竞选稿
2015/11/20 职场文书
如何使用pdb进行Python调试
2021/06/30 Python
为自由献出你的心脏!「进击的巨人展 FINAL」2022年6月在台开展
2022/04/13 日漫
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android