Rumah > pembangunan bahagian belakang > Tutorial Python > PyQt5每天必学之创建窗口居中效果

PyQt5每天必学之创建窗口居中效果

不言
Lepaskan: 2018-05-22 10:47:18
asal
3571 orang telah melayarinya

这篇文章主要介绍了PyQt5每天必学之创建窗口居中效果,使应用程序窗口显示在屏幕的中心,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了PyQt5如何能够创建在桌面屏幕上居中窗口的具体代码,供大家参考,具体内容如下

下面的脚本说明我们如何能够创建在桌面屏幕上居中的窗口。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

#!/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_())

Salin selepas log masuk

QtGui.QDesktopWidget 类提供了有关用户桌面的信息,包括屏幕尺寸。

1

self.center()

Salin selepas log masuk

将居中窗口的代码放置在自定义 center() 方法中。

1

qr = self.frameGeometry()

Salin selepas log masuk

frameGeometry() 方法允许我们创建一个无形矩形并根据主窗口的宽高设置自身的宽度与高度。简单理解就是将这个控件(QWidget)的几何内容(宽高位置等),赋值给qr

1

cp = QDesktopWidget().availableGeometry().center()

Salin selepas log masuk

计算出你的显示器的屏幕分辨率。根据得到的分辨率我们得到屏幕的中心点。

1

qr.moveCenter(cp)

Salin selepas log masuk

我们的矩形(qr)已有宽度和高度,现在设置移动矩形的中心(moveCenter)到屏幕的中心点(cp),矩形的尺寸是不变的。

1

self.move(qr.topLeft())

Salin selepas log masuk

移动应用程序窗口的左上角到qr矩形的左上角,从而使应用程序窗口显示在屏幕的中心。

程序执行后

相关推荐:

PyQt5每天必学之关闭窗口

PyQt5每天必学之弹出消息框

PyQt5实现下载进度条效果


Atas ialah kandungan terperinci PyQt5每天必学之创建窗口居中效果. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan