|
发表于 2024-2-22 18:47:17
|
显示全部楼层
非常抱歉,我在之前的回答中出现了错误。实际上,在Qt Designer 6中,不支持直接设置控件的不可移动属性。但是您可以通过代码来实现此功能。下面是一个示例代码,展示了如何通过自定义控件类来实现不可移动的效果:
- from PyQt6.QtWidgets import QApplication, QLabel, QMainWindow
- from PyQt6.QtCore import Qt
- import sys
- class MyLabel(QLabel):
- def __init__(self, text, parent=None):
- super().__init__(text, parent)
-
- def mousePressEvent(self, event):
- # 不处理鼠标按下事件,从而禁止控件的移动
- pass
- class MyWindow(QMainWindow):
- def __init__(self):
- super().__init__()
- # 创建一个标签控件
- label = MyLabel("Hello, World!", self)
- label.move(50, 50)
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- window = MyWindow()
- window.show()
- sys.exit(app.exec())
复制代码
在上述示例中,我们创建了一个自定义的`MyLabel`类继承自`QLabel`,并重写了`mousePressEvent`方法。在该方法中,我们不做任何处理,从而禁止了鼠标按下事件,实现了不可移动的效果。
希望这个示例能够解决您的问题。如果您还有任何疑问,请随时询问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|