Как обновить стыковочный уголок? - PullRequest
1 голос
/ 08 января 2012

Я делаю приложение от Qt, у которого есть центральный виджет, виджет правой док-станции и виджет левой док-станции.Их размеры фиксированы.

Они отображаются, но между центральным виджетом и правым виджетом есть свободное место, когда левый виджет дока плавает.https://twitter.com/#!/hizz_GI/status/155768124321435648/photo/1

Подскажите, пожалуйста, как убрать пробел?

Спасибо, что нашли время ответить на мой вопрос.

код:

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    textEdit = new QTextEdit;
    textEdit->setFixedSize(100, 150);
    setCentralWidget(textEdit);

    creatDocks();
    layout()->setSizeConstraint(QLayout::SetFixedSize);
}

void MainWindow::creatDocks()
{
    leftTextEdit = new QTextEdit;
    rightTextEdit = new QTextEdit;

    leftDock = new QDockWidget(tr("Left Dock Widget"));
    rightDock = new QDockWidget(tr("Right Dock Widget"));

    leftDock->setFixedSize(100, 150);
    leftDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    leftDock->setWidget(leftTextEdit);

    rightDock->setFixedSize(150, 150);
    rightDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
    rightDock->setWidget(rightTextEdit);

    addDockWidget(Qt::LeftDockWidgetArea, leftDock);
    addDockWidget(Qt::RightDockWidgetArea, rightDock);
}

Я нашел решение.Это способ, который вызывает menuWidget () -> AdjustSize () и AdjustSize (), когда paintEvent MainWindow без textEdit-> setFixedSize () и layout () -> setSizeConstraint ().Но это дорого.В какое время стоит позвонить?И это уместно?

Спасибо.

1 Ответ

0 голосов
/ 08 января 2012

Вероятно, поскольку вы установили для всех виджетов 3 фиксированный размер, когда ваш левый виджет плавает, центральный виджет правильно переходит влево, но, поскольку он и правый виджет имеют фиксированный размер, они не были изменены.заполнить пространство посередине.

Есть ли у вас такая же проблема, когда центральный или правый виджет плавают вместо левого виджета?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...