首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Qt5 -使用QSizePolicy调整QSplitter的大小

Qt5 -使用QSizePolicy调整QSplitter的大小
EN

Stack Overflow用户
提问于 2018-05-29 06:01:54
回答 1查看 421关注 0票数 -1

我想创建一个小部件与3部分:主窗口包含一个水平的QSplitter,其中包含一个垂直的QSplitter。但我没有走那么远,因为第一个拆分器不会在窗口中最大化。我阅读了文档,但仍然不能理解它。

代码语言:javascript
复制
MainWindow::MainWindow() {
    setWindowTitle(ProgramVars::getName() + " - " + ProgramVars::getVersion());
    setWindowIcon(ProgramVars::getIcon());

    content = new QSplitter(this);
    content->setLineWidth(2);
    content->setMidLineWidth(2);

    QPixmap pixmap;
    pixmap.load("../res/icon.png"); //just for testing
    l1 = new QLabel;
    l2 = new QLabel;
    l1->setPixmap(pixmap);
    l2->setPixmap(pixmap);

    content->addWidget(l1);
    content->addWidget(l2);

    content->setAutoFillBackground(true);
    QPalette palette(QPalette::Background, Qt::red); //making size visible
    content->setPalette(palette);

    content->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
    content->setMaximumSize(size());
}

(我认为没有必要添加完整的源文件,但如果您愿意,我会添加它们。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-29 14:25:38

我刚刚找到了我问题的答案:

第一个

我必须将子部件添加到QMainWindow提供的布局中,而不是直接作为子部件。

代码语言:javascript
复制
MainWindow::MainWindow() {
    content = new QSplitter();
    content->setLineWidth(2);
    content->setMidLineWidth(2);

    **setCentralWidget(content);**
    content->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
}

我缩短了代码,因为其余的并不重要。

第二位

this post回答了我的第二个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50573868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档