frameGometry
时间: 2024-05-12 13:15:42 浏览: 5
`frameGeometry()` 是一个 Qt 中的函数,用于获取窗口的边框位置和大小。它返回一个 `QRect` 对象,包含了窗口相对于其父窗口的位置和大小信息。
例如,如果想将窗口居中显示在屏幕上,可以使用以下代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget
import sys
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('MyWidget')
self.center()
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 = MyWidget()
sys.exit(app.exec_())
```
在 `center()` 方法中,我们使用了 `frameGeometry()` 获取窗口的位置和大小信息,然后使用 `QDesktopWidget().availableGeometry().center()` 获取屏幕的中心点位置,最后通过计算将窗口移动到屏幕中心。