pyqt5使得窗口不能改变位置,只能在刚开始出现的位置,不能移动
时间: 2023-09-24 14:05:37 浏览: 135
### 回答1:
你可以通过代码设置窗口的位置和大小:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 400, 300) # 设置位置和大小
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
注意:`self.setGeometry()` 方法的参数依次为:窗口左上角在屏幕上的 x 坐标、y 坐标,以及窗口的宽度和高度。
### 回答2:
在PyQt5中,通过设置窗口的特性可以实现窗口不能改变位置,只能在刚开始出现的位置,不能移动。
通过设置`setWindowFlags`函数来控制窗口的特性。其中,可以使用`Qt.WindowStaysOnTopHint`标记来将窗口置于顶层,并禁止移动。代码如下:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
app = QApplication([])
window = QMainWindow()
# 设置窗口的特性为禁止移动和置于顶层
window.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.FramelessWindowHint)
# 其他窗口设置逻辑
window.show()
app.exec_()
```
在上述代码中,通过`setWindowFlags`方法,将窗口的特性设置为`Qt.WindowStaysOnTopHint`和`Qt.FramelessWindowHint`。这将使窗口无法移动,并且不显示窗口边框。
需要注意的是,这种方式会导致窗口无法进行移动和调整大小。如果需要允许调整窗口大小,可以使用其他特性标记,例如`Qt.WindowFixedSize`,该标记将禁止窗口调整大小,但允许移动。
阅读全文