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 相关文章推荐
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
web.py在模板中输出美元符号的方法
Aug 26 Python
Python中的一些陷阱与技巧小结
Jul 10 Python
Python变量类型知识点总结
Feb 18 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
树莓派安装OpenCV3完整过程的实现
Oct 10 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
python实现俄罗斯方块小游戏
Apr 24 Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
python异步的ASGI与Fast Api实现
Jul 16 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将数组转换成csv格式文件输出的方法
2015/03/14 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
2009/11/27 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
40个新鲜出炉的jQuery 插件和免费教程[上]
2012/07/24 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
将JSON字符串转换成Map对象的方法
2016/11/30 Javascript
用 js 的 selection range 操作选择区域内容和图片
2017/04/18 Javascript
angular中使用Socket.io实例代码
2017/06/03 Javascript
jQuery 实现图片的依次加载图片功能
2017/07/06 jQuery
基于node.js之调试器详解
2017/08/22 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
vue-quill-editor插入图片路径太长问题解决方法
2021/01/08 Vue.js
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
HTML5自定义视频播放器源码
2020/01/06 HTML / CSS
Etam德国:内衣精品店
2019/08/25 全球购物
法学毕业生自荐信
2013/11/13 职场文书
商务考察邀请函模板
2015/02/02 职场文书
涨价通知
2015/04/23 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python