[英]Fit QLabel height without WordWrap
我需要進行手動換行,因為Qt的本機WordWrap在錯誤的位置分割。 我已經對文本進行了換行,但是內容並未顯示所有內容。 QLabel像圖像一樣切割頂部和底部:
我可以在沒有wordWrap的情況下使Qlabel適應其內部文本的高度嗎?
QLabel
放置在布局中,則QLabel
應該自動將其調整為所需的高度,是否啟用wordWrap都無關緊要,請參見doc: http : //doc.qt.io/qt-5/layout.html
我把它寫成height
可擴展的:
QLabel lbl;
int count = 0;
QString str = "";
// set lbl text
lbl.setText("hfdsf\ncsad\nfsc\dajkjkjkjhhkdkca\n925");
str = lbl.text();
for(int i = 0;i < str.length();i++)
if(str.at(i).cell() == '\n')
count++;
// resize lbl (width and height)
lbl.resize(lbl.fontMetrics().width("this is the max-length line in qlabel")
, lbl.fontMetrics().height() * (count + 1));
注意:如果你改變這個工作QLable
字型face
或size
! 只是在高度可擴展的(之前的每一件事設定QLabel
frameShape到BOX
)。
如果要進行width
可縮放內容,則應執行以下步驟:
QLabel
(lbl object
)文本 QLabel::fontMetrics().width(QString str)
來研究str
的width
我希望這可以幫助您...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.