段间距比较容易实现,通过设置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设置行间距和段间距相关推荐

  1. latex如何设置行间距和段间距

    latex如何设置行间距和段间距 设置全文行间距: \usepackage{setspace} \setstretch{1.2} 设置全文段落间距: \usepackage{setspace} \se ...

  2. php中控制段落的行距,如何设置行间距和段间距

    原标题:如何设置行间距和段间距 行间距是只行与行之间的距离,段间距则是相邻段落之间的距离,用户可以根据需求来调整文本的行间距与段间距. 1.设置行间距 默认情况下,Word自动设置段落内文本的行间距为 ...

  3. 【LaTeX入门】04、设置行间距、段间距

    设置行间距.段间距 段落间距有关变量: \baselineskip:行基线间距. \lineskip :行间距. \baselinestretch:伸展因子. \parskip:部分段间距. \lin ...

  4. iOS 文字样式处理总结(字体、前背景色、斜体、加粗、对齐、行间距、段间距、动态获取字符串label宽高等)...

    在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.NSMuttableAttstring(带属性的字符串),可以灵活实现以上功能. NSMutablePar ...

  5. iOS UILabel设置行间距和字间距并计算高度

    转载自:  http://blog.csdn.net/luco2008/article/details/50977718 #define UILABEL_LINE_SPACE 6 #define HE ...

  6. iOS开发技巧之:UILabel设置行间距和字间距并计算高度

    #define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabe ...

  7. iOS UILabel 设置 行间距 和 字间距 并计算高度

    #define UILABEL_LINE_SPACE 6 #define HEIGHT [ [ UIScreen mainScreen ] bounds ].size.height //给UILabe ...

  8. CoreText 轻松设置字体大小,间距,行间距,段间距,算高度

    [http://blog.sina.com.cn/s/blog_691a202f0101bq6q.html] 下面主要讲,如何设置字体,间距,并计算(带特定段间距,行间距,字间距,字大小)文字的高度. ...

  9. android中段落距离,Android中TextView 行间距和段间距设置

    这里有一篇文章关于设置段落间距(仅供参考):https://blog.csdn.net/yingpaixiaochuan/article/details/77996793 TextView行间距设置 ...

最新文章

  1. Vagrant配置虚拟机
  2. a标签居中 img vue_Vue中img的src属性绑定与static文件夹实例
  3. 自己写的一个报表,研究SAP CRM ibase保存问题
  4. const int是什么类型_C++的const语义
  5. CentOS7.1下targetcli的使用
  6. 内连接 左连接 右连接 交叉连接的区别
  7. 跳表(Skip list)
  8. python合法的变量名有哪些_Python判断变量名是否合法的方法示例
  9. Dinic算法(研究总结,网络流)
  10. Windows程序设计的第一个实例
  11. 远程批量升级IE11
  12. goharbor harbor-helm 搭建 记录
  13. 分享一个数据库在线文档系统
  14. 物联网项目设计(一) 需求分析与概要设计
  15. Typecho 主题推荐
  16. 聚类有效性指标(CVI)
  17. 苹果将于18日举行新品发布会
  18. 1157 Anniversary
  19. 使用new bing来阅读文献
  20. 自动驾驶感知——红外传感器

热门文章

  1. 年轻人要如何预防恶性肿瘤?
  2. 签订合同后还未工作前,员工解除合同要赔偿吗?
  3. Word2003的另类超级BT玩法(转)
  4. 《道德情操论》和《国富论》
  5. 说一下你对vue组件通信的理解?
  6. Linux环境Font font = new Font(“宋体“,Font.PLAIN,25) Graphics.drawString()中文乱码
  7. CVPR 2022 | 神经辐射场几何编辑方法NeRF-Editing
  8. 计算机中级证书是几级
  9. spring mvc通过aop在控制台打印log日志,包含请求controller、method、url、remoteaddr、返回值,方便调试
  10. PPT自动保存%撤销次数%快捷键