PyQt5每天必學(xué)之創(chuàng)建窗口居中效果
本文實(shí)例為大家分享了PyQt5如何能夠創(chuàng)建在桌面屏幕上居中窗口的具體代碼,供大家參考,具體內(nèi)容如下
下面的腳本說明我們?nèi)绾文軌騽?chuàng)建在桌面屏幕上居中的窗口。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
PyQt5 教程
這個(gè)程序是將一個(gè)窗口顯示在屏幕的中心。
作者:我的世界你曾經(jīng)來過
博客: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 類提供了有關(guān)用戶桌面的信息,包括屏幕尺寸。
self.center()
將居中窗口的代碼放置在自定義 center() 方法中。
qr = self.frameGeometry()
frameGeometry() 方法允許我們創(chuàng)建一個(gè)無形矩形并根據(jù)主窗口的寬高設(shè)置自身的寬度與高度。簡單理解就是將這個(gè)控件(QWidget)的幾何內(nèi)容(寬高位置等),賦值給qr
cp = QDesktopWidget().availableGeometry().center()
計(jì)算出你的顯示器的屏幕分辨率。根據(jù)得到的分辨率我們得到屏幕的中心點(diǎn)。
qr.moveCenter(cp)
我們的矩形(qr)已有寬度和高度,現(xiàn)在設(shè)置移動(dòng)矩形的中心(moveCenter)到屏幕的中心點(diǎn)(cp),矩形的尺寸是不變的。
self.move(qr.topLeft())
移動(dòng)應(yīng)用程序窗口的左上角到qr矩形的左上角,從而使應(yīng)用程序窗口顯示在屏幕的中心。
程序執(zhí)行后

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python定時(shí)任務(wù)sched模塊用法示例
這篇文章主要介紹了Python定時(shí)任務(wù)sched模塊用法,結(jié)合實(shí)例形式分析了定時(shí)任務(wù)sched模塊的基本功能、參數(shù)含義、多線程定時(shí)任務(wù)等相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
python實(shí)現(xiàn)BackPropagation算法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)BackPropagation算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
Python爬取百度翻譯實(shí)現(xiàn)中英互譯功能
這篇文章主要介紹了利用Python爬蟲爬取百度翻譯,從而實(shí)現(xiàn)中英文互譯的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-01-01
如何解決jupyter notebook無法導(dǎo)入自己安裝的包
這篇文章主要介紹了如何解決jupyter notebook無法導(dǎo)入自己安裝的包問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
arcgis使用Python腳本進(jìn)行批量截圖功能實(shí)現(xiàn)
最近公司數(shù)據(jù)部那邊有個(gè)需求,需要結(jié)合矢量數(shù)據(jù)和影像數(shù)據(jù),進(jìn)行批量截圖,并且截圖中只能有一個(gè)圖斑,還要添加上相應(yīng)的水印,這篇文章主要介紹了arcgis使用Python腳本進(jìn)行批量截圖,需要的朋友可以參考下2023-01-01
python實(shí)現(xiàn)一組典型數(shù)據(jù)格式轉(zhuǎn)換
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)一組典型數(shù)據(jù)格式轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
3分鐘學(xué)會(huì)一個(gè)Python小技巧
Python時(shí)間日期轉(zhuǎn)換在開發(fā)中是非常高頻的一個(gè)操作,你經(jīng)常會(huì)遇到需要將字符串轉(zhuǎn)換成 datetime 或者是反過來將 datetime 轉(zhuǎn)換成字符串,今天小編給大家?guī)砹艘粋€(gè)Python小技巧,感興趣的朋友一起看看吧2018-11-11
Python?encode()方法和decode()方法詳解
encode() 方法為字符串類型(str)提供的方法,用于將 str 類型轉(zhuǎn)換成 bytes 類型,這個(gè)過程也稱為“編碼”,這篇文章主要介紹了Python?encode()方法和decode()方法,需要的朋友可以參考下2022-12-12

