使用Qt我想在一个DINA4页面上打印多个小部件。 假设我有3个小部件,我想直接放在彼此旁边:
// from your updated JSFiddle
var o1 = ctr();
var o2 = o1.clone();
o2.a = 5;
// Why are these values different????
alert('Direct=' + o2.a + ', via Method=' + o2.f());
// prints 'Direct=5, via Method=0'
o1.a = 3;
alert('Direct=' + o2.a + ', via Method=' + o2.f());
// prints 'Direct=5, via Method=3'
当我在下面的代码中渲染它们时,所有3个小部件在C的位置上呈现在彼此之上(或者甚至A和B都没有渲染,我没有看到它)。我打算按照最后一个小部件的大小将每个小部件向下移动一点,直接将它呈现在最后一个小部件的旁边。这似乎不起作用:
-------
| A |
-------
| B |
-------
| C |
-------
如果渲染了所有3个小部件,那么循环如何影响A和B的位置,因为我每次都创建一个新的QPainter-Object?
答案 0 :(得分:0)
您可以在布局中设置3个元素
QVVoxLayout *Vertical_layout;
this->getLayout()->addLayout(this->Vertical_layout);
Vertical_layout->addItem(ElementA);
Vertical_layout->addItem(ElementB);
Vertical_layout->addItem(ElementC);
你可以用以下方法设置它们之间的距离:
Vertical_layout- >setContentsMargins(left,top,right,bottom);
有了它,他们将永远在他们的位置。