ImportError: cannot import name 'QScreen' from 'PyQt6.QtWidgets' (C:\Users\86186\AppData\Local\Programs\Python\Python38\lib\site-packages\PyQt6\QtWidgets.pyd)
时间: 2023-07-03 07:28:31 浏览: 299
python3 解决cannot import name '_AES'问题
5星 · 资源好评率100%
如果你使用的是 PyQt5,那么可以按照之前的方法来实现将窗口移动到屏幕中心的功能。如果你使用的是 PyQt6,可以使用 `QGuiApplication` 类来获取屏幕大小和可用工作区域大小,如下所示:
```python
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow
from PyQt6.QtGui import QGuiApplication
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('My Window')
self.setGeometry(0, 0, 400, 300)
# 将窗口移动到屏幕中心
self.center()
def center(self):
# 获取屏幕大小和窗口大小
screen = QGuiApplication.primaryScreen().availableGeometry()
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())
```
在这个例子中,`QGuiApplication.primaryScreen().availableGeometry()` 返回屏幕的大小和可用工作区域的大小。然后,我们使用 `geometry()` 方法获取窗口大小,计算窗口居中时的左上角坐标,并使用 `move()` 方法将窗口移动到计算出的位置。
阅读全文