QDialog设置不可拖动
时间: 2023-08-06 09:07:55 浏览: 458
对话框的拖动
5星 · 资源好评率100%
要禁用QDialog的拖动,可以在QDialog子类的构造函数中调用`setWindowFlags()`函数,将Qt::WindowStaysOnTopHint和Qt::Dialog两个窗口标志位设置为窗口标志位。代码如下:
```python
class MyDialog(QDialog):
def __init__(self, parent=None):
super(MyDialog, self).__init__(parent)
self.setWindowFlags(self.windowFlags() & ~Qt.WindowStaysOnTopHint & ~Qt.Dialog)
```
在这个例子中,我们首先调用`self.windowFlags()`获取当前窗口标志位,然后将`Qt::WindowStaysOnTopHint`和`Qt::Dialog`位从窗口标志位中删除,最后通过调用`setWindowFlags()`函数将新的窗口标志位设置为窗口标志。这样就禁用了QDialog的拖动功能。
阅读全文