在Qt中,可以通过设置QDockWidget
的属性来禁止它被拖动。你可以使用**QDockWidget::setFeatures
** 方法并传递**QDockWidget::DockWidgetMovable
**作为参数来禁用拖动功能。
以下是一个简单的示例代码,展示了如何设置QDockWidget
为不可拖动:
cpp
#include <QApplication>
#include <QMainWindow>
#include <QDockWidget>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow mainWindow;
QDockWidget *dockWidget = new QDockWidget("DockWidget", &mainWindow);
// 设置dock widget为不可拖动
dockWidget->setFeatures(QDockWidget::DockWidgetFloatable);
// 添加一个小部件到dock widget作为示例
dockWidget->setWidget(new QTextEdit("Dockable widget content", dockWidget));
// 将dock widget添加到主窗口
mainWindow.addDockWidget(Qt::LeftDockWidgetArea, dockWidget);
mainWindow.show();
return app.exec();
}
在这个例子中,DockWidget
将不会被拖动,但它仍然可以浮动(如果你允许浮动的话)。如果你也想禁止浮动,可以不设置**DockWidgetFloatable
**。