Pyqt如何获取小部件的尺寸

ibi*_*tux 11 python size pyqt widget

我目前正在开发一个应用程序,我不能使用模态窗口(由于一些应用程序的限制).但是,在某些情况下,我想模拟一个弹出窗口.为此,我动态创建一个将centralwidget作为父级的小部件,并使用move()方法将其放置在我想要的位置.我想知道是否有办法在给定时间获取小部件的尺寸(考虑到mainWindow可以随时调整大小),这样我就可以将占位符弹出窗口(一个简单的小部件)置于中间位置.中央部件.

谢谢

小智 19

获取Qt Widget大小:

import sys
from PyQt4 import QtGui, QtCore

app = QtGui.QApplication(sys.argv)

mainWindow = QtGui.QWidget()
width = mainWindow.frameGeometry().width()
height = mainWindow.frameGeometry().height()
Run Code Online (Sandbox Code Playgroud)

  • 另外两个有用的参数是: .left() 和 .top() (2认同)

小智 15

用于获取屏幕尺寸

import sys
from PyQt4 import QtGui, QtCore

app = QtGui.QApplication(sys.argv)

mainWindow = QtGui.QWidget()
screenShape = QtGui.QDesktopWidget().screenGeometry()
mainWindow.resize(self.screenShape.width(), self.screenShape.height())
mainWindow.show()
Run Code Online (Sandbox Code Playgroud)


Ava*_*ris 2

您可以根据您的需要使用frameGeometry或。geometry

  • 如果您没有给出有效的示例,这不是正确的答案。仅复制粘贴文档并不是答案。因此@subin george给出了正确的答案。 (10认同)
  • @GLHF虽然你的说法是正确的......OP没有给出代码。这都是理论上的;因此我阿瓦里​​斯他的理论答案也是正确的;-)) (2认同)