Qt之QTextEdit
关于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相关推荐
- qt 在qtextedit显示数组_qtextedit获取内容
QT中怎样提取QTextEdit文本框中的内容? 我这样写的 QString stri; stri=text->toPlainText(); 但我发现文本框中QT中提取QTextEdit文本框中 ...
- Qt实现QTextEdit背景透明
QTextEdit为什么要拿出来单独说,因为它继承自QAbstractScrollArea,一般的设置无效.滚动区域ScrollArea内部有一个widget,需要同时设置ScrollArea和vie ...
- qt 在qtextedit显示数组_QtWidget: 设置QTextEdit的各种颜色
Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); connec ...
- Qt增加QTextEdit右键菜单增加中文翻译
QT中有些控件,比如QTextEdit.QLineEdit和QWebEnginePage的右键菜单经常没有中文翻译. 比如下面QTextEdit的右键菜单: 那么遇到这种情况我们可以自己创建翻译文件 ...
- qt 在qtextedit显示数组_Qt开源作品34-qwt无需插件源码
一.前言 QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图.为具有技术专业背景的程序提供GUI组件和一组 ...
- Qt保存QTextEdit内存至.txt文件中
01. 保存按钮点击槽函数 //避免文件对话框弹出两次 //Qt::UniqueConnection确保同一信号与同一个槽函数之间只有一个连接,避免按钮点击后槽函数触发两次 connect(ui-&g ...
- Qt获取QTextEdit中的内容
1.主要用到了QTextEdit中的成员函数:toPlainText(): 2.在编辑框中写上内容,点击获取按钮,通过控制台输出获取到的内容. 3.全部源码在附件中,这里之贴出主要实现部分. Text ...
- Qt中QTextEdit显示字符串
为了在文本框中显示字符串,我们常用这样两个函数实现: 1. ui->recvTextEdit->insertPlainText(temp);//temp为字符串临时储存变量 2. ui-& ...
- Qt 5.15.2 QTextEdit无法设置新字体的处理方式
首发于我的个人博客:xie-kang.com 博客内有更多文章,欢迎大家访问 原文地址 在使用QT 5.15.2 开发的过程中碰到了件怪事,下列代码无法给QTextEdit选中的文字设置字体: QTe ...
最新文章
- NandFlash详述【转】
- matlab最大化函数,求助,最大化一个函数
- 【Linux】【服务器】 CentOS7下安装MySQL详细过程步骤
- mysql数据库修改编码
- matlab 合成生物学,合成生物学原理
- python3下载及安装教程
- 用Arcgis把离散的点画出等值线和等值面(色斑图)
- AD的PCB文件无法保存问题
- 植物大战僵尸原版完整版 免安装中文版
- 利用费马小定理进行素性测试
- Unity制作3d生存游戏视频教程
- 深入理解5G SSB协议
- Android系统的JNI原理分析(四)- JNI的jni.h头文件
- mysql在子查询中使用自定义变量和条件语句实现函数效果的查询语句
- 微信小程序canvas上传PHP,微信小程序画布 canvas
- 关于如何在coursera.org上旁听好课
- 微信小程序之网易云音乐小案例
- ubuntu 7.04 硬盘安装与安装后的常用软件的安装与配置 [zz]
- 多摄像机标定和去畸变
- iOS热修复(热更新)技术预研