要实现Qt子窗口不可拖动移动,你可以使用以下方法之一:
- 使用
setWindowFlags()
函数将窗口标志设置为Qt::CustomizeWindowHint | Qt::WindowTitleHint
,这会禁用窗口的默认移动功能。
widget->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowTitleHint);
- 通过重写子窗口的
mousePressEvent()
和mouseMoveEvent()
事件来阻止鼠标点击和移动事件。
void MySubWindow::mousePressEvent(QMouseEvent *event) {
// 阻止鼠标点击事件
event->ignore();
}
void MySubWindow::mouseMoveEvent(QMouseEvent *event) {
// 阻止鼠标移动事件
event->ignore();
}
通过其中一种方法,你可以禁用子窗口的拖动移动功能。
内容由零声教学AI助手提供,问题来源于学员提问