我有一个QDockWidget,其中Dock的内容和大小应该相同。我目前遇到一个问题,虽然码头的大小是有效的;父中央小部件在右侧创建一个4像素的间隙,在调整主窗口大小时我似乎无法收缩。这是一个截图:
这是我用来强制停靠到特定大小的代码;工作正常,使码头的大小正确。 (它还包含一个与底座尺寸相同的框架):
ui->dockFrame->resize(w, h);
ui->dock->setFixedSize(w, h);
我也尝试在主窗口和中央窗口小部件中使用layout()->setContentsMargins(0,0,0,0);
无效。
有没有人知道这些额外像素的来源,以及如何解决这个问题?提前谢谢。
答案 0 :(得分:2)
差距与QDockWidget
几乎没有关系。它是QMainWindow
的属性 - 它是停靠窗口小部件之间的移动分隔符,或者停靠窗口小部件和中央窗口小部件之间。
您可以使用样式表删除它:
QMainWindow::separator
{
width: 0px; /* when vertical */
height: 0px; /* when horizontal */
}
在您的C ++代码中:
mainwindow->setStyleSheet("QMainWindow::separator{ width: 0px; height: 0px; }");