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 def函数的定义、使用及参数传递实现代码
Aug 10 Python
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
Aug 15 Python
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
Python编程中NotImplementedError的使用方法
Apr 21 Python
Python实现识别图片内容的方法分析
Jul 11 Python
详解Python3网络爬虫(二):利用urllib.urlopen向有道翻译发送数据获得翻译结果
May 07 Python
python解析xml简单示例
Jun 21 Python
Python OpenCV 使用滑动条来调整函数参数的方法
Jul 08 Python
Django文件存储 自己定制存储系统解析
Aug 02 Python
python树的同构学习笔记
Sep 14 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
Python中用xlwt制作表格实例讲解
Nov 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/01/16 PHP
解析PHP缓存函数的使用说明
2013/05/10 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
php创建和删除目录函数介绍和递归删除目录函数分享
2014/11/18 PHP
php如何实现只替换一次或N次
2015/10/29 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
在视频前插入广告
2006/11/20 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
Javascript中Array.prototype.map()详解
2014/10/22 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
JS实现设置ff与ie元素绝对位置的方法
2016/03/08 Javascript
用jmSlip编写移动端顶部日历选择控件
2016/10/24 Javascript
从零开始学习Node.js系列教程之SQLite3和MongoDB用法分析
2017/04/13 Javascript
VUE 使用中踩过的坑
2018/02/08 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
jQuery.parseJSON()函数详解
2019/02/28 jQuery
js+canvas实现刮刮奖功能
2020/09/13 Javascript
centos下更新Python版本的步骤
2013/02/12 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
PyQt5实现拖放功能
2018/04/25 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
NumPy排序的实现
2020/01/21 Python
超全Python图像处理讲解(多模块实现)
2020/04/13 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
布里斯班女装时尚品牌:Adrift
2017/12/28 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
员工拾金不昧表扬信
2014/01/09 职场文书
高二化学教学反思
2014/01/30 职场文书
保护环境倡议书300字
2014/05/19 职场文书
导游词400字
2015/02/13 职场文书
情人节单身感言
2015/08/03 职场文书