Qt中QPushButton、QTabWidget等部件內容文字換行的解決方法(一定要寫在源碼里,寫在翻譯文件里不行,因為\n得不到轉義)


最近在做基於Qt的應用項目,其中有一個按鈕文字超長,需要換一行顯示。從網上找到的建議都是將要顯示的內容做成圖片,然后將圖片設置為該按鈕的背景。但是這樣做有一個很大的局限性,當需要更改內容文字的時候,需要重新生成圖片。這樣不僅提高了代碼的維護成本,而且方法比較死板。經過本人探索發現,其實只需要設置QPushButton部件的text屬性就可以實現換行。例如要顯示的文字為:

 

|————————|

|         aaa         |

|         bbb         |

|————————|

 

 

可以設置text屬性為aaa\nbbb

 

 

QTabWidget使標簽上的文字換行顯示比較麻煩一點,暫時沒有在QtCreator上找到直接修改的辦法。但是可以通過代碼來修改。代碼如下:

    QString dualLine("aaa\nbbb");
    this->ui->tabWidget->setTabText(0, dualLine);

 

我在界面中直接拖拽了一個名為tabWidget的QTabWidget部件。要實現標簽內容的多行顯示,需要調用該部件的setTabText成員函數。第一個參數為目標Tab序號。這個序號可以通過QtCreator的設計界面,點擊要修改的標簽,在屬性列表中找到currentIndex屬性來得到;第二個參數為要設置的文字,這里dual為QString類型的變量,初始化的時候和更改QPushButton一樣,直接添加轉義字符“\n”就可以了。

 

就這么簡單。趕快試試吧!

 

我使用的平台為Windows XP + QtCreator 2.2 + QtLib 4.7.3

http://blog.csdn.net/chaijunkun/article/details/6546704


免責聲明!

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



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