1
QLabel 및 QPushbutton 객체를 QVBoxLayout에 추가하려고 할 때 문제가 있습니다. 문제는 사진Qt : QVBoxLayout의 Qlabel 및 QPushButton
다음레이아웃 및 레이블을 만들고, 그것들을 추가하는 코드 예제처럼 그들 사이에 너무 많은 공간을 추가하는 것이다. 나중에 버튼을 추가 하겠지만, 다른 버튼 -> addWidget (버튼) 만 있으면된다.
jobbcimke= new QLabel(trUtf8("Jobb oldal"));
jobbkozepcimke= new QLabel(trUtf8("Jobb part"));
balcimke= new QLabel(trUtf8("Bal oldal"));
balkozepcimke=new QLabel(trUtf8("Bal part"));
jobbfelulet=new QVBoxLayout();
jobbkozepfelulet=new QVBoxLayout();
balkozepfelulet=new QVBoxLayout();
balfelulet=new QVBoxLayout();
osszefogo=new QHBoxLayout();
jobbfelulet->setAlignment(Qt::AlignRight);
jobbkozepfelulet->setAlignment(Qt::AlignRight);
balfelulet->setAlignment(Qt::AlignLeft);
balkozepfelulet->setAlignment(Qt::AlignLeft);
balfelulet->addWidget(balcimke);
balkozepfelulet->addWidget(balkozepcimke);
jobbfelulet->addWidget(jobbcimke);
jobbkozepfelulet->addWidget(jobbkozepcimke);
osszefogo->addLayout(balfelulet);
osszefogo->addLayout(balkozepfelulet);
osszefogo->addLayout(jobbkozepfelulet);
osszefogo->addLayout(jobbfelulet);
setLayout(osszefogo);
어떻게 그 사이의 공간을 제거 할 수 있습니까? 아니면 더 좋은 방법이 있습니까? 레이아웃 크기 할당 레이블을 만들었습니다. 당신이 문서에 파고 경우
QSpacerItems가 정확히 필요한데, 지금은 QLabels를 레이아웃에 넣을 필요가 없습니다. (그런데 setSpacing이 작동하지 않았지만 지금은 레이블이 필요 없으므로 괜찮습니다.) 고맙습니다! – Krav
미래에 누군가가 올 경우를 대비하여 아무런 문제가 없습니다.'setSpacing'은 레이아웃을 어떻게 설정했는지에 따라 일관성없이 작동하는 이상한 것입니다. Qt 레이아웃은 훌륭하지만 원하는 결과를 얻으려면 종종 마사지가 필요합니다. –