1. 程式人生 > >QT控制元件中佈局QLabel讓其自適應大小自動換行遇到的問題

QT控制元件中佈局QLabel讓其自適應大小自動換行遇到的問題

使用QLabel的時候總會有一些小問題,這裡記錄一下,如果您有更好的解決辦法請告訴我一下,3Q。

給QWidget控制元件新增邊框同時不影響其子控制元件QLabel:分別設定widget控制元件和label控制元件的style

    widget->setStyleSheet("QWidget{border:1px; "  //設定邊框寬度
                        "border-style:solid;" //設定邊框風格
               "border-color:black;"  //設定邊框顏色
                        "background: red;}"); //設定widget背景色
    label->setStyleSheet("QLabel{border-width:0px}"); //讓label控制元件的邊框大小設定為0
把label放在佈局中讓其自適應大小自動換行的時候遇到了一個沒有解決的問題,一下是設定的程式碼,
        label->setText(strLine); 
        label->adjustSize();
        label->setWordWrap(true);
        label->setAlignment(Qt::AlignTop);

        QPalette palette; 
        palette.setColor(QPalette::Text, Qt::white); //設定字型顏色
        label->setPalette(palette);
        gLayout->addWidget(label);
        label->show();

剛開始的時候,用的測試string都是一些純字母或者純數字啥的,下圖中string是從一個Qtextedit中提取出來的,但是一直都不行,總是不能自適應大小,顯示的只有一行,但是在裡面加入了中文後就可以實現自適應大小,自動換行了,這個真沒搞懂是什麼原因,看到的朋友請指點一下!