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脚本判断 Linux 是否运行在虚拟机上
Apr 25 Python
利用Anaconda完美解决Python 2与python 3的共存问题
May 25 Python
python购物车程序简单代码
Apr 18 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 Python
python使用多进程的实例详解
Sep 19 Python
python实现视频分帧效果
May 31 Python
django使用admin站点上传图片的实例
Jul 28 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
解决jupyter运行pyqt代码内核重启的问题
Apr 16 Python
8种常用的Python工具
Aug 05 Python
python如何对链表操作
Oct 10 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
php将字符串全部转换成大写或者小写的方法
2015/03/17 PHP
Ubuntu VPS中wordpress网站打开时提示”建立数据库连接错误”的解决办法
2016/11/03 PHP
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
网页下载文件期间如何防止用户对网页进行其他操作
2014/06/27 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
JavaScript中运算符规则和隐式类型转换示例详解
2017/09/06 Javascript
浅谈layui 数据表格前后台传值的问题
2019/09/12 Javascript
vue+Element中table表格实现可编辑(select下拉框)
2020/05/21 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
Python字符串处理函数简明总结
2015/04/13 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
Python中常见的异常总结
2018/02/20 Python
python获取文件路径、文件名、后缀名的实例
2018/04/23 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
对Python实现累加函数的方法详解
2019/01/23 Python
Python I/O与进程的详细讲解
2019/03/08 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
旷课检讨书大全
2014/01/21 职场文书
八年级生物教学反思
2014/01/22 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
小学班主任培训方案
2014/06/04 职场文书
协商一致解除劳动合同协议书
2014/09/14 职场文书
停课通知书
2015/04/24 职场文书
外出培训学习心得体会
2016/01/18 职场文书
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python