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中列表list,元祖tuple和numpy中的array区别
Apr 18 Python
Django开发中的日志输出的方法
Jul 02 Python
如何在python字符串中输入纯粹的{}
Aug 22 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
对python while循环和双重循环的实例详解
Aug 23 Python
Python使用python-docx读写word文档
Aug 26 Python
Python多线程爬取豆瓣影评API接口
Oct 22 Python
Python如何实现邮件功能
May 27 Python
详解Flask前后端分离项目案例
Jul 24 Python
用Python实现Newton插值法
Apr 17 Python
Python 发送SMTP邮件的简单教程
Jun 24 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 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
yii2实现Ueditor百度编辑器的示例代码
2018/11/02 PHP
基于jquery的checkbox下拉框插件代码
2010/06/25 Javascript
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
javascript禁用Tab键脚本实例
2013/11/22 Javascript
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
vue刷新和tab切换实例
2018/02/11 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
24行JavaScript代码实现Redux的方法实例
2019/11/17 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
Python和php通信乱码问题解决方法
2014/04/15 Python
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
selenium+python设置爬虫代理IP的方法
2018/11/29 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
html5本地存储_动力节点Java学院整理
2017/07/12 HTML / CSS
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
车工岗位职责
2013/11/26 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
促销活动方案模板
2014/02/24 职场文书
高一新生军训感言
2014/03/02 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
环保项目建议书
2014/08/26 职场文书
绿色环保家庭事迹材料
2014/08/31 职场文书
部队2014年终工作总结
2014/11/27 职场文书
婚宴父母致辞
2015/07/27 职场文书
Redis如何一键部署脚本
2021/04/12 Redis