1

QLabelとQPushbuttonオブジェクトをQVBoxLayoutに追加しようとすると、問題が発生します。問題は、写真のようにそれらの間にスペースが多すぎることです

サンプル

レイアウトとラベルを作成して追加するコード例を次に示します。後でボタンを追加しますが、それは別の-> addWidget(button)を使用するだけです。

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);

それらの間のスペースを削除するにはどうすればよいですか、またはこれを行うためのより良い方法はありますか?レイアウトサイズの割り当て用のラベルを作成しました。

4

1 に答える 1

1

ドキュメントを掘り下げると、要素間の間隔を編集できるsetSpacing(int x)メソッドがあります。また、必要な場所に正確に配置するためにいくつかを追加するか、メソッドに制約を適用する必要がある場合があります。QLayoutsQSpacerItemssetGeometry(QRect rect)

于 2013-03-21T10:46:17.887 に答える