Qt: 利用QSplitter将主窗口与Docker窗口初始宽度比例2:1

要实现主窗口和 QDockWidget 之间的比例为 2:1,您可以使用 QSplitter 来创建一个可以调整大小的分隔窗口,其中一个区域放置主窗口的内容,另一个区域放置 QDockWidget。以下是一个示例代码,演示了如何实现主窗口和 QDockWidget 之间比例为 2:1:

cpp 复制代码
#include <QApplication>
#include <QMainWindow>
#include <QSplitter>
#include <QTextEdit>
#include <QDockWidget>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QMainWindow mainWindow;

    // 创建主窗口内容
    QTextEdit *centralWidget = new QTextEdit(&mainWindow);
    
    // 创建 DockWidget
    QDockWidget *dockWidget = new QDockWidget("Dock Widget", &mainWindow);
    dockWidget->setWidget(new QTextEdit(dockWidget));

    // 创建一个分隔窗口
    QSplitter *splitter = new QSplitter(Qt::Horizontal, &mainWindow);
    splitter->addWidget(centralWidget);
    splitter->addWidget(dockWidget);

    // 设置分隔窗口的初始比例为 2:1
    QList<int> sizes;
    sizes << mainWindow.width() * 2 / 3 << mainWindow.width() / 3;
    splitter->setSizes(sizes);

    mainWindow.setCentralWidget(splitter);
    mainWindow.show();

    return app.exec();
}

在这个示例中,我们创建了一个 QMainWindow 对象 mainWindow,并分别创建了一个中央的 QTextEdit 作为主窗口内容和一个 QDockWidget。然后,我们使用 QSplitter 创建一个可以调整大小的分隔窗口,将主窗口内容和 QDockWidget 放置在其中,并设置初始的大小比例为 2:1。

通过运行这段代码,您应该可以看到一个具有主窗口内容和 QDockWidget 的主窗口,其中它们之间的大小比例为 2:1,用户可以通过拖动分隔窗口来调整它们之间的大小。

相关推荐
王廷胡_白嫖帝3 小时前
Qt网络速度测试工具开发教程 - 从零开始构建网络测速应用
开发语言·网络·qt
qq_259297247316 小时前
QT-窗口类部件
c++·qt
楚Y6同学19 小时前
QT之QSS的使用方法和常用控件的样式设置
开发语言·qt
Zafir20242 天前
Qt实现TabWidget通过addTab函数添加的页,页内控件自适应窗口大小
开发语言·c++·qt·ui
王廷胡_白嫖帝2 天前
Qt文件压缩工具项目开发教程
java·开发语言·qt
牵牛老人2 天前
Qt 插件开发全解析:从接口定义,插件封装,插件调用到插件间的通信
开发语言·qt
机器视觉知识推荐、就业指导2 天前
面试问题详解五:Qt 信号与槽的动态管理
开发语言·qt
四维碎片2 天前
【Qt】线程池与全局信号实现异步协作
开发语言·qt·ui·visual studio
feiyangqingyun3 天前
纯Qt结合ffmpeg实现本地摄像头采集/桌面采集/应用程序窗口采集/指定采集帧率和分辨率等
qt·ffmpeg·qt桌面采集·qt摄像头采集·qt程序窗口采集
王廷胡_白嫖帝3 天前
Qt个人通讯录项目开发教程 - 从零开始构建联系人管理系统
开发语言·qt