ImportError: cannot import name 'QDesktopWidget' from 'PyQt6.QtWidgets' (C:\Users\86186\AppData\Local\Programs\Python\Python38\lib\site-packages\PyQt6\QtWidgets.pyd)
时间: 2023-07-03 20:28:30 浏览: 380
`QDesktopWidget` 已经在 PyQt6 中被弃用,你可以使用 `QScreen` 类替代它。
以下是将窗口移动到屏幕中心的示例代码:
```python
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QScreen
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('My Window')
self.setGeometry(0, 0, 400, 300)
# 将窗口移动到屏幕中心
self.center()
def center(self):
# 获取屏幕大小和窗口大小
screen = QScreen().geometry()
window = self.geometry()
# 计算窗口居中时的左上角坐标
x = (screen.width() - window.width()) / 2
y = (screen.height() - window.height()) / 2
# 移动窗口
self.move(x, y)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec())
```
在这个例子中,`QScreen()` 类提供了有关屏幕的信息,例如屏幕大小和可用工作区域的大小。然后,我们使用 `geometry()` 方法获取屏幕大小和窗口大小,计算窗口居中时的左上角坐标,并使用 `move()` 方法将窗口移动到计算出的位置。
阅读全文