首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

(转)Qt中QPushButton、QTabWidget等部件内容文字换行的解决办法

2012-10-26 
(转)Qt中QPushButton、QTabWidget等部件内容文字换行的解决方法原文链接http://blog.csdn.net/chaijunkun/a

(转)Qt中QPushButton、QTabWidget等部件内容文字换行的解决方法

原文链接http://blog.csdn.net/chaijunkun/article/details/6546704

?

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

热点排行