14
qwidget Wの内側にqlabel Lを持っています。Lは、垂直方向と水平方向に整列しています。 Wのサイズを変更すると、Lは中央に配置されません。qlabelのセンタリング
これは予想されますか? Lをもう一度中央に配置するのに適した実装は何ですか?
qwidget Wの内側にqlabel Lを持っています。Lは、垂直方向と水平方向に整列しています。 Wのサイズを変更すると、Lは中央に配置されません。qlabelのセンタリング
これは予想されますか? Lをもう一度中央に配置するのに適した実装は何ですか?
QLabel
でテキストを整列するには、QLabel::setAlignmentと呼ぶことで期待通りの効果が得られます。
レイアウトにラベルを追加したくない場合があります(ウィジェットのサイズを変更すると、ラベルのサイズが自動的に変更されます)。 Layout Managementも参照してください。最小限の例:
#include <QApplication>
#include <QHBoxLayout>
#include <QLabel>
#include <QWidget>
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
QLabel* label=new QLabel("Hello World!");
label->setAlignment(Qt::AlignCenter);
QWidget* widget=new QWidget;
// create horizontal layout
QHBoxLayout* layout=new QHBoxLayout;
// and add label to it
layout->addWidget(label);
// set layout to widget
widget->setLayout(layout);
widget->show();
return app.exec();
}
おかげです。私はあなたの答えを読む前にレイアウト管理をしていませんでした –