最近在做基於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