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使用PyGreSQL操作PostgreSQL数据库教程
Jul 30 Python
Python函数式编程指南(四):生成器详解
Jun 24 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
Django文件上传与下载(FileFlid)
Oct 06 Python
python pyenv多版本管理工具的使用
Dec 23 Python
Pytorch之保存读取模型实例
Dec 30 Python
浅谈Django中的QueryDict元素为数组的坑
Mar 31 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Apr 02 Python
完美解决python针对hdfs上传和下载的问题
Jun 05 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
django中cookiecutter的使用教程
Dec 03 Python
解决Pytorch修改预训练模型时遇到key不匹配的情况
Jun 05 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/10/10 PHP
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
php入门学习知识点六 PHP文件的读写操作代码
2011/07/14 PHP
php用户注册页面利用js进行表单验证具体实例
2013/10/17 PHP
PHP文件锁定写入实例解析
2014/07/14 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
深入解读JavaScript中的Hoisting机制
2015/08/12 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
js前端导出Excel的方法
2017/11/01 Javascript
浅谈webpack编译vue项目生成的代码探索
2017/12/11 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
[01:55]TI9显影之尘系列 - Evil Geniuses
2019/08/22 DOTA
python超简单解决约瑟夫环问题
2015/05/12 Python
python实现批量修改文件名代码
2017/09/10 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
python实现朴素贝叶斯算法
2018/11/19 Python
使用Python批量修改文件名的代码实例
2019/01/24 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
Python爬虫使用bs4方法实现数据解析
2020/08/25 Python
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
超市采购员岗位职责
2014/02/01 职场文书
搞笑创意广告语
2014/03/17 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers
Django分页器的用法你都了解吗
2021/05/26 Python