1

グリッド レイアウトの 2 つの列にまたがるボタンがあります。ボタンはセルの幅の約半分で、中央に配置したい。

gridLayout->addWidget(btn3, 2, 6, 1, 2);

ボタンをセルの左に揃えます。これがデフォルトだと思います。私は試した

gridLayout->addWidget(btn3, 2, 6, 1, 2, Qt::AlignHCenter);

とボタンが消えます。ボタンはどこにあり、レイアウト セルの中央にないのはなぜですか?

Linux(ubuntu 10.04)でQT opensoureを使用しています。

ちょっとした文脈:

gridLayout->addWidget(btn1, 2, 3);
gridLayout->addWidget(btn2, 2, 5);
gridLayout->addWidget(btn3, 2, 6, 1, 2);
gridLayout->addWidget(btn4, 2, 8);
gridLayout->addWidget(btn5, 2, 10);

btn3 を 2 列にまたがるセルの中央に配置したいのですが、addWidget() メソッドの 6 番目の引数として Qt:AlignCenter を渡そうとすると、btn3 が消えてしまいます。

4

1 に答える 1

2

2のColumnSpanを使用している場合、ボタンはおそらくgridLayoutの他のウィジェットの下にあります。コードを次のように変更してみてください。

gridLayout->addWidget(btn3, 2, 6, 1, 1, Qt::AlignCenter);

それは私にはうまくいきます。

于 2011-03-02T19:44:59.560 に答える