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异步回调机制实现和使用方法
Nov 26 Python
python文件操作整理汇总
Oct 21 Python
Python实现Const详解
Jan 27 Python
Python使用Paramiko模块编写脚本进行远程服务器操作
May 05 Python
PyQt5每天必学之进度条效果
Apr 19 Python
python 脚本生成随机 字母 + 数字密码功能
May 26 Python
python RabbitMQ 使用详细介绍(小结)
Nov 08 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
python多线程分块读取文件
Aug 29 Python
Python字符串的修改方法实例
Dec 19 Python
python实现密码强度校验
Mar 18 Python
Django模板标签中url使用详解(url跳转到指定页面)
Mar 19 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开发规范手册之PHP代码规范详解
2011/01/13 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
一个符号插入器 中用到的js代码
2007/09/04 Javascript
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
jQuery示例收集
2010/11/05 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
jQuery绑定事件的几种实现方式
2016/05/09 Javascript
javascript基础知识
2016/06/07 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
微信小程序image图片加载完成监听
2019/08/31 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第三场 3月7日
2021/03/11 DOTA
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
Python算法之图的遍历
2017/11/16 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
python远程邮件控制电脑升级版
2019/05/23 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
基于python实现地址和经纬度转换
2020/05/19 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
个人简历自我鉴定
2013/10/11 职场文书
模具毕业生推荐信
2014/02/15 职场文书
安全生产实施方案
2014/02/23 职场文书
2014最新离职证明范本
2014/09/12 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
出纳工作检讨书
2014/10/18 职场文书
初中作文评语集锦
2014/12/25 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
《遗弃》开发商删推文要跑路?官方回应:还在开发
2022/04/03 其他游戏