在Qt5.5 C++程序中,我有各种QDockWidgets,每个QDockWidgets包含一个[主要]填充其QDockWidget的小部件。但是,小部件周围有10像素的边框,我无法摆脱它。
以下尝试似乎没有实现任何目的:
ui->dockable->layout()->setMargin(0);
ui->dockable->layout()->setSpacing(0);
ui->dockable->layout()->setContentsMargins(0,0,0,0);
ui->dockable->setContentsMargins(0,0,0,0);
ui->dockable->setStyleSheet("margin: 0px; padding: 0px");
ui->dockable->setStyleSheet("QDockWidget{ border: 0px }");
this->layout()->setContentsMargins(0,0,0,0);
复制问题:
升级到Qt 5.7.0没有帮助。有任何想法吗?
最佳答案
更新帖子后...
您必须做:
ui->dockable->widget()->layout()->setContentsMargins( 0,0,0,0 );
ui->dockable->layout()
不是您需要修改的布局。 QDockWidget
包含一个QWidget
(一种主窗口小部件,在创建QDockWidget
时始终可用),这是从QtDesigner中创建布局的一个窗口,因此必须使用QDockWidget::widget()来访问它。或者,当您从QtDesigner创建GUI时,也可以使用此工具删除边距,这将使GUI看起来像这样:
关于c++ - 可停靠窗口中的Qt填充和边距,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40594721/