此代码原理是获取字符串像素长度后, 超出设置的限制宽度后进行截取操作加换行符从而达到自动换行效果

Qt的Lable自带的换行属性不支持纯英文,纯数字的字符串换行

// font 设置的字体属性
// text 文本
// nLabelSize 到达此宽度换行QString ProcessingText(const QFontMetrics& font, const QString& text, int nLabelSize)
{int nTextSize = font.width(text);if (nTextSize > nLabelSize){int nPos = 0;long nOffset = 0;for (int i = 0; i < text.size(); i++){nOffset += font.width(text.at(i));if (nOffset > nLabelSize){nPos = i;break;}}QString qstrLeftData = text.left(nPos);QString qstrMidData = text.mid(nPos);return qstrLeftData + "\n" + ProcessingText(font, qstrMidData, nLabelSize);}return text;
}

基本用法:

    QLabel* pLable = new QLabel;int nLabelSize = 210;pLable ->setFixedWidth(nLabelSize);pLable ->setText("输入文本内容");QFontMetrics font(pLable->font());int nTextSize = font.width(pLable->text());if (nTextSize > nLabelSize){QString qstrData = ProcessingText(font, pLable->text(), nLabelSize);pLable ->setText(qstrData);}else{pLable ->setText(pLable->text());}

Qt:文本过长自动换行(支持纯英文, 纯数字)相关推荐

  1. JS 控制文本框只能输入中文、英文、数字与指定特殊符号(屏蔽表情输入)

    onkeyup:释放键盘事件 onpaste:粘贴事件 oncontextmenu :鼠标右击事件 控制这三种事件的输入 οnkeyup="this.value=this.value.rep ...

  2. 正则表达式限制文本框只能输入中文或者英文或者数字

    只能输入中文:<input id="input1" type="text" οnkeyup="value=value.replace(/[^/u ...

  3. ElasticSearch支持根据英文或者数字进行模糊查询

    提示:以下操作均在kibana7.7.0中操作. 问题描述: 根据es去查询商品的名称,中文查询能查询出数据,但是只输入部分英文或者数字,查询不出数据. 原因分析: es中的分词器,只将全部的数字和英 ...

  4. html文本过长自动换行,css 长文本及长链接自动换行的几种方法

    方法一:你定死表格的宽度,即给表格一个宽度值(是数值,不是百分比) 方法二:强制不换行 div{//white-space:不换行;normal 默认;nowrap强制在同一行内显示所有文本,直到文本 ...

  5. 纯英文,数字不换行问题处理

    1.问题描述: 用户输入一串英文字母,设置了换行,但是只有中文换行,英文不换行 2.处理方式: 英文一串字母,被认为是一个单词,所以不换行 {overflow: hidden;white-space: ...

  6. 纯英文换行的css,利用CSS实现纯英文数字自动换行

    下面为大家带来一篇CSS代码使纯英文数字自动换行的简单实现.内容挺不错的,现在就分享给大家,也给大家做个参考. 当一个定义了宽度的块状元素中填充的全部为纯英文或者纯数字的时候,在IE和FF中都会撑大容 ...

  7. python怎么统计单词总数_Python【习题】:统计纯英文文本中总字数

    人生苦短,我用Python 环境:Windows 10 64-bit, python == 3.6.4 , PyCharm CE == 2018.1 声明:学习资源来自于网络,这里是自己学习笔记总结与 ...

  8. R语言ggplot2可视化为长文本轴标签自动换行美化可视化结构实战:Wrap long text axis labels

    R语言ggplot2可视化为长文本轴标签自动换行美化可视化结构实战:Wrap long text axis labels 目录

  9. python使用fpdf的multi_cell API实现长文本写入的自动换行功能实战

    python使用fpdf的multi_cell API实现长文本写入的自动换行功能实战 目录 python使用fpdf的multi_cell API实现长文本写入的自动换行功能实战

最新文章

  1. latex的资料ftp
  2. 删除windows7中的“兼容性疑难解答”右键菜单
  3. java书籍_非科班,自学java需要把软件工程的课程全部学习完吗?
  4. Html5 Canvas 百行代码实现扫雷
  5. 51单片机学习:串口通信实验
  6. 大唐双龙传JAVA版小游戏_大唐双龙传_JAVA游戏免费版下载_7723手机游戏[www.7723.cn]...
  7. 红米note3全网通 |2015112| 官方线刷包救砖包解账户锁屏幕锁
  8. 硬盘出现坏道以及处理方法
  9. 【总结】知识点巩固------Linux命令总结
  10. 解析几何:第五章 二次曲线(1)圆 椭圆 双曲线
  11. 通过银行卡号识别银行
  12. 人工智能第八章答案神经网络,神经网络简答题
  13. 坐在宝座上圣洁羔羊(儿童诗班)
  14. python吃内存吗_python – 为什么泡菜吃内存?
  15. QT读写Sqlite数据库的三种方式
  16. HTTP协议中的一些概念
  17. 金蝶KIS商贸版实现'条码标签打印'功能进行商品条码打印
  18. 2022开年第一个爆款凭什么是山东蓝翔?如何实现破圈传播?
  19. python生成车架号
  20. msr 增强 matlab,Matlab用Retinex的MSR实现图像增强的代码,可运行,

热门文章

  1. 【MaskRCNN】源码系列一:train数据处理三
  2. 解决xxx by CORS policy: No ‘Access-Control-Allow-Origin‘ header is present on the requested resource问题
  3. 高德地图 判断打的点是否在圈内
  4. 基于java的springboot家政服务预约系统毕业设计springboot开题报告
  5. 五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(一)引言和界面设计
  6. 身价过亿的灵仙子说你IIC没写完也发?
  7. (Java)通讯录的实现
  8. 柳传志详解联想控股资本棋局:2018年后子公司将分拆上市
  9. 低代码平台无极(wj)系列(一):从低代码服务到0代码的应用背景
  10. 完成知乎项目的登录和注册功能(二)