我正在制作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);
}
我找到了解决方法。 这是一种在没有textEdit-> setFixedSize()和layout() - > setSizeConstraint()的MainWindow的paintEvent时调用menuWidget() - > adjustSize()和adjustSize()的方法。 但它很贵。什么时间适当的电话? 这是合适的吗?
感谢。
答案 0 :(得分:0)
可能,由于您将所有3个窗口小部件设置为固定大小,当您的左侧窗口小部件浮动时,中央窗口小部件正确地向左移动,但由于它和右侧窗口小部件具有固定大小,因此它们未调整大小填补中间的空间。
当中央或右侧小部件浮动而不是左小部件时,您是否也有同样的问题?