11

情况:
我正在研究以这种方式构建的 Qt4 应用程序(如果父小部件在此问题中很重要):

QApplication
   |_ QMainwindow
         |_ QScrollArea (central widget)
               |_ QFrame (child of scroll area)
                     |_ QFrame
                     |      |_ QLabel
                     |            |_ QPixmap
                     |_ QFrame
                     |      |_ QLabel
                     |            |_ QPixmap
                     |_ QFrame
                           |_ ect...

目标:
我希望子 QFrames 和它们的 QLabels 之间没有边距,并且在 QLabels 和它们的 QPixmap 之间没有边距。

方法:
我已请求使用 QFrame.setContentsMargins(0, 0, 0, 0) 及其布局的 QBoxLayout.setSpacing(0) 减少子 QFrame 的边距。QLabel 和它的 QPixmap 之间的零边距似乎是自然发生的。

问题:
尽管如此,QFrame 中的边距仍然出现:我已经能够通过将样式表应用于各种小部件来测试这种情况。

我能做些什么?

4

1 回答 1

14

Qt论坛上提供的答案

应在小部件及其布局上设置边距的内容。因此:

QWidget *w = new QWidget();
w->setContentsMargins(0, 0, 0, 0);
w->layout()->setContentsMargins(0, 0, 0, 0);
于 2012-05-18T22:14:00.453 回答