2017-02-07 3 views
0

У меня есть QHBoxLayout с детьми созданы следующим образом:Как выровнять детям в QHBoxLayout слева, в центре и справа

QHBoxlayout h = new QHBoxlayout(); 

QLLabel leftLabel = new QLLabel("Left"); 
QLLabel centerLabel = new QLLabel("Center"); 

QHBoxlayout rightContent = new QHBoxlayout(); 
QLLabel r1 = new QLLabel("2"); 
QLLabel r2 = new QLLabel("3"); 

rightContent.addWidget(r1); 
rightContent.addWidget(r2); 

h.addWidget(leftLabel); 
h.addWidget(centerLabel); 
h.addLayout(rightContent); 

Это создаст QHBoxLayout со всеми детьми плавал на левой стороне. Я бы хотел, чтобы leftLabel был слева, centerLabel в центре, и rightContent вправо.

Как я могу это достичь?

Благодарим вас заблаговременно.

UPDATE

Я хотел бы что-то вроде левый, центр, право ниже:

enter image description here

ответ

1

Просто добавить распорки между "левыми", "Центр" и «Право»:

QHBoxLayout *h = new QHBoxLayout(&parentWidget); 
h.addWidget(leftLabel); 
h.addStretch() 
h.addWidget(centerLabel); 
h.addStretch() 
h.addLayout(rightLabel); 

Может быть полезно практиковать в Qt Designer.

Смежные вопросы