qt 之 QDockWidget设置不可拖动

在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**。

相关推荐
艾莉丝努力练剑21 分钟前
【C++:异常】C++ 异常处理完全指南:从理论到实践,深入理解栈展开与最佳实践
java·开发语言·c++·安全·c++11
岁忧7 小时前
GoLang五种字符串拼接方式详解
开发语言·爬虫·golang
tyatyatya7 小时前
MATLAB基础数据类型教程:数值型/字符型/逻辑型/结构体/元胞数组全解析
开发语言·matlab
心无旁骛~7 小时前
python多进程和多线程问题
开发语言·python
星云数灵7 小时前
使用Anaconda管理Python环境:安装与验证Pandas、NumPy、Matplotlib
开发语言·python·数据分析·pandas·教程·环境配置·anaconda
kaikaile19957 小时前
基于遗传算法的车辆路径问题(VRP)解决方案MATLAB实现
开发语言·人工智能·matlab
四问四不知8 小时前
Rust语言进阶(结构体)
开发语言·后端·rust
q***9948 小时前
index.php 和 php
开发语言·php
oioihoii8 小时前
C++网络编程:从Socket混乱到优雅Reactor的蜕变之路
开发语言·网络·c++
笨鸟要努力8 小时前
Qt C++ windows 设置系统时间
c++·windows·qt