pyqt6 qdesktopwidget 函数 自身的窗口坐标系
时间: 2024-10-25 14:05:28 浏览: 11
在PyQt6中,`QDesktopWidget`是一个用于获取桌面相关信息的对象,包括屏幕尺寸、分辨率等。它本身并没有提供直接的窗口坐标的函数。然而,如果你有一个`QWidget`子类实例,并想要获取它的位置(相对于桌面),你可以使用`globalPos()`方法。
这个方法返回的是`QPoint`,表示该 widget 的几何中心相对于屏幕左上角的绝对位置,这是一个全局坐标系,与`QDesktopWidget`无关。如果你想获取相对于其父窗口的位置,可以使用`parent().pos()`加上自身的`geometry().topLeft()`。
例如:
```python
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout
class MyWindow(QWidget):
def __init__(self):
super().__init__()
layout = QVBoxLayout(self)
button = QPushButton("Button", self)
layout.addWidget(button)
self.global_pos = button.globalPos()
print(f"Button global position: {self.global_pos}")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
在这个例子中,`button.globalPos()`会返回按钮相对于屏幕的坐标。
阅读全文