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中的模块和包概念介绍
Apr 13 Python
Python实现读取文件最后n行的方法
Feb 23 Python
python+pandas分析nginx日志的实例
Apr 28 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
Python Series从0开始索引的方法
Nov 06 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
Oct 11 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
Python通过VGG16模型实现图像风格转换操作详解
Jan 16 Python
python 计算概率密度、累计分布、逆函数的例子
Feb 25 Python
如何让python的运行速度得到提升
Jul 08 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 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代码
2007/03/08 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
使用jQuery+EasyUI实现CheckBoxTree的级联选中特效
2015/12/06 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
jQuery实现点击行选中或取消CheckBox的方法
2016/08/01 Javascript
jQuery操作cookie
2016/08/08 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
JavaScript mixin实现多继承的方法详解
2017/03/30 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
leaflet加载geojson叠加显示功能代码
2020/02/21 Javascript
浅谈Python 对象内存占用
2016/07/15 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
Python数据可视化:饼状图的实例讲解
2019/12/07 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
JPA的优势都有哪些
2013/07/04 面试题
会计专业导师推荐信
2014/03/08 职场文书
入党积极分子评语
2014/05/04 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
法人代表证明书
2014/09/18 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
大学生党课心得体会
2016/01/07 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书