QT QLabel內容太長時候使用省略號


版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/xiezhongyuan07/article/details/83589722

我們在使用QLabel進行內容顯示的時候,通常有一個最大長度,超過這個長度怎么辦呢?一個QLabel不可能顯示無限長的字符串啊,這時候我們可以考慮,如果字符串長度太長的時候,我們就顯示其中的一部分,剩下的用...顯示。

比如說我們要顯示“1234567890abcdefghijklmnopqrstuvwxyz”,能不能顯示成“12345...”或者“123...xyz”這樣的呢?答案是肯定的。

只需要很短的代碼就能夠實現:

        QString newStrMsg = "1234567890abcdefghijklmnopqrstuvwxyz";
     
        QFontMetrics fontWidth(ui->noteValueLabel->font());//得到每個字符的寬度
        QString elideNote = fontWidth.elidedText(newStrMsg, Qt::ElideRight, 150);//最大寬度150像素
     
        ui->noteValueLabel->setText(elideNote);//顯示省略好的字符串
        ui->noteValueLabel->setToolTip(newStrMsg);//設置tooltips

其中QFontMetrics::eliedText 這個函數,就是自動處理字符串得,如果想要最后面省略,中間的值Qt::ElideRight表示省略最右邊的字符。還有其他選項


————————————————
版權聲明:本文為CSDN博主「漫步繁華街」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/xiezhongyuan07/article/details/83589722


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM