2012-03-22 5 views
14

qwidget W. L 안에 qlabel L이 있습니다. L은 수직 및 수평으로 정렬되어 있습니다. W의 크기를 조정할 때 L이 가운데에 맞춰지지 않습니다.qlabel 센터링

예상 되나요? L을 다시 중심에 배치하는 것이 좋은 구현 방법은 무엇입니까?

답변

21

으로 전화하여 QLabel의 텍스트를 정렬하려면 예상대로 작동합니다.
레이아웃에 라벨을 추가하지 않을 수도 있습니다 (위젯의 크기를 조정하면 라벨의 크기가 자동으로 조정됩니다). 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(); 
} 
+1

야, 잘 됐네. 나는 당신의 대답을 읽기 전에 레이아웃 관리를하고 있지 않았습니다. –