Pyqt如何获取一个控件的尺寸
我现在正在开发一个应用程序,但由于一些限制,我不能使用弹出窗口。不过在某些情况下,我想模拟一个弹出窗口。为此,我动态创建一个小部件,把它的父级设置为中央小部件,然后使用move()方法把它放到我想要的位置。
我想知道有没有办法在某个时刻获取小部件的尺寸(因为主窗口随时可能被调整大小),这样我就能把这个占位符弹出窗口(一个简单的小部件)放在中央小部件的正中间。
谢谢!
3 个回答
17
获取屏幕大小的方法
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()
40
获取Qt窗口部件的大小:
import sys
from PyQt4 import QtGui, QtCore
app = QtGui.QApplication(sys.argv)
mainWindow = QtGui.QWidget()
width = mainWindow.frameGeometry().width()
height = mainWindow.frameGeometry().height()
2
你可以根据自己的需求使用 frameGeometry
或者 geometry
。