3

Qt Designer を使用して、 QFormLayoutおよびQHBoxLayoutコンテナー内にQLabelQLineEdit、およびQComboBoxコントロールを含むフォームをレイアウトしています。コントロールをテキストのベースラインに垂直に揃えるにはどうすればよいですか?

Max OS X でダイアログをプレビューすると、さまざまなコントロールがベースラインで整列しません。次の例ではQHBoxLayoutを使用していますが、 QFormLayoutでも同じことが起こります。

Max OS X での例

アンダースコアが同じ垂直位置にないことに注意してください。

ベースライン調整が適用され、スタイル、プラットフォーム、ウィジェットの組み合わせ、ウィジェットのサイズ、およびフォント設定に基づいて自動的に調整が行われる、すべてのウィジェットの組み合わせで機能するソリューションを探しています。CSSに匹敵するものvertical-align: baseline;

アップデート

Windows XP で同じテストを行い、スタイル シートを使用するというRA の提案も適用しました。しかし、それによってコントロールやそのテキストの配置が変わることはないようです。

Windows XP での例

4

1 に答える 1

1

あなたの質問を正しく理解できたら、QLabels の垂直方向の配置を変更する必要があります。Qt Designer では、 をクリックしQLabelてラベルのalignmentプロパティを調整することで、これを実現できます。この場合、垂直方向の配置を に変更するとAlignBottom、問題が解決する可能性があると思います。それがうまくいかない場合、ラベルにmarginは調整可能なプロパティもあります。

アップデート

アプリケーションにQt のスタイル シートを使用することを検討してください。次のスタイル シートは、テスト可能なプラットフォーム (残念ながら、OS X は含まれていません) で望ましい結果を達成しました。

QLabel, QComboBox, QLineEdit
{
   background-position: bottom;
}
于 2012-08-20T16:00:12.613 に答える