zoukankan      html  css  js  c++  java
  • Qt中QPushButton、QTabWidget等部件内容文字换行的解决方法(一定要写在源码里,写在翻译文件里不行,因为 得不到转义)

    最近在做基于Qt的应用项目,其中有一个按钮文字超长,需要换一行显示。从网上找到的建议都是将要显示的内容做成图片,然后将图片设置为该按钮的背景。但是这样做有一个很大的局限性,当需要更改内容文字的时候,需要重新生成图片。这样不仅提高了代码的维护成本,而且方法比较死板。经过本人探索发现,其实只需要设置QPushButton部件的text属性就可以实现换行。例如要显示的文字为:

    |————————|

    |         aaa         |

    |         bbb         |

    |————————|

    可以设置text属性为aaa bbb

    QTabWidget使标签上的文字换行显示比较麻烦一点,暂时没有在QtCreator上找到直接修改的办法。但是可以通过代码来修改。代码如下:

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

    我在界面中直接拖拽了一个名为tabWidget的QTabWidget部件。要实现标签内容的多行显示,需要调用该部件的setTabText成员函数。第一个参数为目标Tab序号。这个序号可以通过QtCreator的设计界面,点击要修改的标签,在属性列表中找到currentIndex属性来得到;第二个参数为要设置的文字,这里dual为QString类型的变量,初始化的时候和更改QPushButton一样,直接添加转义字符“ ”就可以了。

    就这么简单。赶快试试吧!

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

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

  • 相关阅读:
    hive调度脚步p_fact_bi_browser_t_job.sh
    public_db.cfg数据库配置公共变量设置
    public_time.cfg时间公共变量设置
    sqoop导出数据到关系数据库export_fact_bi_browser_t_job.sh
    sqoop导入数据到hdfs初始化
    审批流程
    关于触发器修改自身数据表实例
    Oracle触发器修改自身字段解决方案
    JSON.stringify(国丰PU3023)
    $("#lblMsg").html("请先选择一行网格数据!");
  • 原文地址:https://www.cnblogs.com/findumars/p/5589525.html
Copyright © 2011-2022 走看看