关于QTextEdit,Qt5对Qt4的做了一些小的改动,看上去很多方法都发生了变化,但万变不离其中。如:槽函数setFontFamily(const QFont&)变为setFontFamily(const QString & fontFamily),alignLeft()、alignCenter()、alignJustify()、alignRight()也都不见了,取而代之的是setAlignment(Qt::Alignment a)。这些改变让QTextEdit也越来越简洁,越来越好用。。。

下面是我的一个简单的测试demo。

1、设置字体粗细

setFontWeight(int weight)

enum QFont::Weight可取以下各值:

2、设置字体斜体

setFontItalic(bool italic)

true表示斜体,false为非斜体。

3、设置下划线

setFontUnderline(bool underline)
true表示有下划线,false无。

4、设置字体类型

setFontFamily(const QString & fontFamily)

5、设置字体大小

setFontPointSize(qreal s)

6、设置文本色

setTextColor(const QColor & c)

7、设置文本背景色

setTextBackgroundColor(const QColor & c)

8、设置对齐方式

setAlignment(Qt::Alignment a)
Qt::Alignment取值如下:


Qt::AlignLeft左对齐、Qt::AlignRigh右对齐、Qt::AlignJustify两端对齐、Qt::AlignCenter居中对齐

好了,方法太多,而且很简单,就不一一列举了,下面看主要的:

9、插入图片:

void Widget::insertImage()
{QImage image(":/Images/qq");if (image.isNull()) return;int width = text_edit->viewport()->width();int height = text_edit->viewport()->height();if (image.width() > width || image.height() > height) {image = image.scaled(30, 30, Qt::KeepAspectRatio, Qt::SmoothTransformation);}QTextCursor cursor = text_edit->textCursor();QTextDocument *document = text_edit->document();cursor.movePosition(QTextCursor::End);document->addResource(QTextDocument::ImageResource, QUrl(":/Images/qq"),  QVariant(image));//插入图像,使用QTextCursor API文档:QTextImageFormat image_format;image_format.setName(":/Images/qq");cursor.insertImage(image_format);
}

或者,使用HTML的img标记Qt之QTextEdit

10、搜索匹配文本进行高亮

void Widget::search()
{QString search_text = search_line_edit->text();if (search_text.trimmed().isEmpty()) {QMessageBox::information(this, tr("Empty search field"), tr("The search field is empty."));} else {QTextDocument *document = text_edit->document();bool found = false;QTextCursor highlight_cursor(document);QTextCursor cursor(document);//开始cursor.beginEditBlock();QTextCharFormat color_format(highlight_cursor.charFormat());color_format.setForeground(Qt::red);while (!highlight_cursor.isNull() && !highlight_cursor.atEnd()) {//查找指定的文本,匹配整个单词highlight_cursor = document->find(search_text, highlight_cursor, QTextDocument::FindWholeWords);if (!highlight_cursor.isNull()) {if(!found)found = true;highlight_cursor.mergeCharFormat(color_format);}}cursor.endEditBlock();//结束if (found == false) {QMessageBox::information(this, tr("Word not found"), tr("Sorry,the word cannot be found."));}}
}

Qt之QTextEdit相关推荐

  1. qt 在qtextedit显示数组_qtextedit获取内容

    QT中怎样提取QTextEdit文本框中的内容? 我这样写的 QString stri; stri=text->toPlainText(); 但我发现文本框中QT中提取QTextEdit文本框中 ...

  2. Qt实现QTextEdit背景透明

    QTextEdit为什么要拿出来单独说,因为它继承自QAbstractScrollArea,一般的设置无效.滚动区域ScrollArea内部有一个widget,需要同时设置ScrollArea和vie ...

  3. qt 在qtextedit显示数组_QtWidget: 设置QTextEdit的各种颜色

    Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); connec ...

  4. Qt增加QTextEdit右键菜单增加中文翻译

    QT中有些控件,比如QTextEdit.QLineEdit和QWebEnginePage的右键菜单经常没有中文翻译. 比如下面QTextEdit的右键菜单: 那么遇到这种情况我们可以自己创建翻译文件 ...

  5. qt 在qtextedit显示数组_Qt开源作品34-qwt无需插件源码

    一.前言 QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图.为具有技术专业背景的程序提供GUI组件和一组 ...

  6. Qt保存QTextEdit内存至.txt文件中

    01. 保存按钮点击槽函数 //避免文件对话框弹出两次 //Qt::UniqueConnection确保同一信号与同一个槽函数之间只有一个连接,避免按钮点击后槽函数触发两次 connect(ui-&g ...

  7. Qt获取QTextEdit中的内容

    1.主要用到了QTextEdit中的成员函数:toPlainText(): 2.在编辑框中写上内容,点击获取按钮,通过控制台输出获取到的内容. 3.全部源码在附件中,这里之贴出主要实现部分. Text ...

  8. Qt中QTextEdit显示字符串

    为了在文本框中显示字符串,我们常用这样两个函数实现: 1. ui->recvTextEdit->insertPlainText(temp);//temp为字符串临时储存变量 2. ui-& ...

  9. Qt 5.15.2 QTextEdit无法设置新字体的处理方式

    首发于我的个人博客:xie-kang.com 博客内有更多文章,欢迎大家访问 原文地址 在使用QT 5.15.2 开发的过程中碰到了件怪事,下列代码无法给QTextEdit选中的文字设置字体: QTe ...

最新文章

  1. NandFlash详述【转】
  2. matlab最大化函数,求助,最大化一个函数
  3. 【Linux】【服务器】 CentOS7下安装MySQL详细过程步骤
  4. mysql数据库修改编码
  5. matlab 合成生物学,合成生物学原理
  6. python3下载及安装教程
  7. 用Arcgis把离散的点画出等值线和等值面(色斑图)
  8. AD的PCB文件无法保存问题
  9. 植物大战僵尸原版完整版 免安装中文版
  10. 利用费马小定理进行素性测试
  11. Unity制作3d生存游戏视频教程
  12. 深入理解5G SSB协议
  13. Android系统的JNI原理分析(四)- JNI的jni.h头文件
  14. mysql在子查询中使用自定义变量和条件语句实现函数效果的查询语句
  15. 微信小程序canvas上传PHP,微信小程序画布 canvas
  16. 关于如何在coursera.org上旁听好课
  17. 微信小程序之网易云音乐小案例
  18. ubuntu 7.04 硬盘安装与安装后的常用软件的安装与配置 [zz]
  19. 多摄像机标定和去畸变
  20. iOS热修复(热更新)技术预研

热门文章

  1. Linux磁盘扩容的操作
  2. 小白也能写前端?推荐一款超实用的app----JsHD调试器,助你写出炫酷的网页!
  3. Java基础 println print 实现输出换行
  4. 拓嘉启远:拼多多分时折扣是什么意思?怎样优化
  5. MNN实践[C++版本]
  6. HTML5特效~3D立方体旋转
  7. 一文搞定,SpringBoot 集成 Apollo 配置中心
  8. excel 关联数据
  9. MySQL备份还原和定时任务
  10. 【系统架构】-如何评估软件架构