PyQt5每天必學之創(chuàng)建窗口居中效果
本文實例為大家分享了PyQt5如何能夠創(chuàng)建在桌面屏幕上居中窗口的具體代碼,供大家參考,具體內容如下
下面的腳本說明我們如何能夠創(chuàng)建在桌面屏幕上居中的窗口。
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 這個程序是將一個窗口顯示在屏幕的中心。 作者:我的世界你曾經(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 類提供了有關用戶桌面的信息,包括屏幕尺寸。
self.center()
將居中窗口的代碼放置在自定義 center() 方法中。
qr = self.frameGeometry()
frameGeometry() 方法允許我們創(chuàng)建一個無形矩形并根據(jù)主窗口的寬高設置自身的寬度與高度。簡單理解就是將這個控件(QWidget)的幾何內容(寬高位置等),賦值給qr
cp = QDesktopWidget().availableGeometry().center()
計算出你的顯示器的屏幕分辨率。根據(jù)得到的分辨率我們得到屏幕的中心點。
qr.moveCenter(cp)
我們的矩形(qr)已有寬度和高度,現(xiàn)在設置移動矩形的中心(moveCenter)到屏幕的中心點(cp),矩形的尺寸是不變的。
self.move(qr.topLeft())
移動應用程序窗口的左上角到qr矩形的左上角,從而使應用程序窗口顯示在屏幕的中心。
程序執(zhí)行后
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解python架構?PyNeuraLogic超越Transformers
這篇文章主要為大家介紹了python使用?PyNeuraLogic超越Transformers示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03Conda創(chuàng)建新環(huán)境的詳細圖文教程
Anaconda功能龐大,其可以理解為一個工具,也是一個可執(zhí)行命令,下面這篇文章主要給大家介紹了關于Conda創(chuàng)建新環(huán)境的詳細圖文教程,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-01-01Python局部函數(shù)及用法詳解(含nonlocal關鍵字)
局部函數(shù)有哪些特征,在使用時需要注意什么呢?接下來就給讀者詳細介紹?Python?局部函數(shù)的用法,對Python局部函數(shù)相關知識感興趣的朋友跟隨小編一起看看吧2022-12-12python中的socket實現(xiàn)ftp客戶端和服務器收發(fā)文件及md5加密文件
這篇文章主要介紹了python中的socket實現(xiàn)ftp客戶端和服務器收發(fā)文件及md5加密文件的相關知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04python使用pandas讀xlsx文件的實現(xiàn)
這篇文章主要介紹了python使用pandas讀xlsx文件的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05