Qt QTextEdit设置行间距和段间距
段间距比较容易实现,通过设置html的css即可实现段间距调整;
行间距需要利用Qt用的几个类配合实现;
代码比较简单具体实现如下:
QString HD = ui->H1Edit->text();//行间距QString HH = ui->H2Edit->text();//段间距QString src = ui->textEdit->toHtml();QString strView;//=ui->textEdit->toPlainText();strView = "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;\"></body></html>";int pos = 0;//padding-top//获取段落int startNum = src.indexOf("<p",0);int endNum = src.lastIndexOf("</body>");QString txt = src.mid(startNum,endNum);//更改段间距const QString StrHH = "margin-top:";pos = 0;for(;;)//已知bug 段距大于10{pos = txt.indexOf(StrHH,pos+1);if(pos!=-1){txt.replace(pos+StrHH.length(),1,HH);}else{break;}}int despos = strView.lastIndexOf("</body>");strView.insert(despos,txt);ui->textEdit->clear();ui->textEdit->setHtml(strView);QTextDocument *doc = ui->textEdit->document();QTextCursor textcursor = ui->textEdit->textCursor();for(QTextBlock it = doc->begin(); it !=doc->end();it = it.next()){QTextBlockFormat tbf = it.blockFormat();tbf.setLineHeight(HD.toInt(),QTextBlockFormat::LineDistanceHeight);textcursor.setPosition(it.position());textcursor.setBlockFormat(tbf);ui->textEdit->setTextCursor(textcursor);}
其中段间距有bug是设置插入字符串位置的问题。需要用的自行解决。
源码下载
Qt QTextEdit设置行间距和段间距相关推荐
- latex如何设置行间距和段间距
latex如何设置行间距和段间距 设置全文行间距: \usepackage{setspace} \setstretch{1.2} 设置全文段落间距: \usepackage{setspace} \se ...
- php中控制段落的行距,如何设置行间距和段间距
原标题:如何设置行间距和段间距 行间距是只行与行之间的距离,段间距则是相邻段落之间的距离,用户可以根据需求来调整文本的行间距与段间距. 1.设置行间距 默认情况下,Word自动设置段落内文本的行间距为 ...
- 【LaTeX入门】04、设置行间距、段间距
设置行间距.段间距 段落间距有关变量: \baselineskip:行基线间距. \lineskip :行间距. \baselinestretch:伸展因子. \parskip:部分段间距. \lin ...
- iOS 文字样式处理总结(字体、前背景色、斜体、加粗、对齐、行间距、段间距、动态获取字符串label宽高等)...
在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.NSMuttableAttstring(带属性的字符串),可以灵活实现以上功能. NSMutablePar ...
- iOS UILabel设置行间距和字间距并计算高度
转载自: http://blog.csdn.net/luco2008/article/details/50977718 #define UILABEL_LINE_SPACE 6 #define HE ...
- iOS开发技巧之:UILabel设置行间距和字间距并计算高度
#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabe ...
- iOS UILabel 设置 行间距 和 字间距 并计算高度
#define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabe ...
- CoreText 轻松设置字体大小,间距,行间距,段间距,算高度
[http://blog.sina.com.cn/s/blog_691a202f0101bq6q.html] 下面主要讲,如何设置字体,间距,并计算(带特定段间距,行间距,字间距,字大小)文字的高度. ...
- android中段落距离,Android中TextView 行间距和段间距设置
这里有一篇文章关于设置段落间距(仅供参考):https://blog.csdn.net/yingpaixiaochuan/article/details/77996793 TextView行间距设置 ...
最新文章
- Vagrant配置虚拟机
- a标签居中 img vue_Vue中img的src属性绑定与static文件夹实例
- 自己写的一个报表,研究SAP CRM ibase保存问题
- const int是什么类型_C++的const语义
- CentOS7.1下targetcli的使用
- 内连接 左连接 右连接 交叉连接的区别
- 跳表(Skip list)
- python合法的变量名有哪些_Python判断变量名是否合法的方法示例
- Dinic算法(研究总结,网络流)
- Windows程序设计的第一个实例
- 远程批量升级IE11
- goharbor harbor-helm 搭建 记录
- 分享一个数据库在线文档系统
- 物联网项目设计(一) 需求分析与概要设计
- Typecho 主题推荐
- 聚类有效性指标(CVI)
- 苹果将于18日举行新品发布会
- 1157 Anniversary
- 使用new bing来阅读文献
- 自动驾驶感知——红外传感器
热门文章
- 年轻人要如何预防恶性肿瘤?
- 签订合同后还未工作前,员工解除合同要赔偿吗?
- Word2003的另类超级BT玩法(转)
- 《道德情操论》和《国富论》
- 说一下你对vue组件通信的理解?
- Linux环境Font font = new Font(“宋体“,Font.PLAIN,25) Graphics.drawString()中文乱码
- CVPR 2022 | 神经辐射场几何编辑方法NeRF-Editing
- 计算机中级证书是几级
- spring mvc通过aop在控制台打印log日志,包含请求controller、method、url、remoteaddr、返回值,方便调试
- PPT自动保存%撤销次数%快捷键