QMainWindow和包含的小部件之间的填充

时间:2015-01-13 15:53:06

标签: c++ qt qt5 qmainwindow qtstylesheets

我试图增加QMainWidget中包含的小部件和QMainWidget边缘之间的填充。您可以在下图中看到问题:

Padding between edges

QTabWidget(它是QMainWidget的中心小部件)和主窗口的左边缘之间没有填充。此外,QDockWidgets和主窗口的右边缘之间没有填充。

我尝试使用QSS样式表增加填充:

QMainWindow {
    padding: 10px;
    margin: 10px;
    border: 5px solid red;
}

但得到了一些非常意外的结果:

Unexpected result

我尝试调用setContentsMargins方法,但它实际上改变了中心窗口小部件的边距,正如方法的名称所示。

如何在QMainWindow和包含的小部件之间增加填充?有没有办法用QSS改变它?

1 个答案:

答案 0 :(得分:1)

您需要将它们全部放在另一个容器中,然后将该容器设置为中央窗口小部件。然后你可以调用container.setContentsMargins()