【Qt】控件——QPlainTextEdit使用简单介绍:常用方法及信号、逐行读取编辑框的内容、使用自带的快捷菜单、作为日志显示窗口
Qt控件-QPlainTextEdit使用
参考链接:
https://blog.csdn.net/seniorwizard/article/details/109726147;
https://blog.csdn.net/seniorwizard/article/details/109726147
文章目录
- Qt控件-QPlainTextEdit使用
- QPlainTextEdit控件简单介绍
- 1. 逐行读取文本编辑框的内容
- 2. 使用QPlainTextEdit自带的快捷菜单
- 3. 作为日志显示窗口
QPlainTextEdit控件简单介绍
QPlainTextEdit是一个多行纯文本编辑器控件,用于显示和编辑多行简单文本。
QPlainTextEdit继承自QAbstractScrollArea类,继承关系如下:
QPlainTextEdit支持文本段落,默认情况下,一个换行符表示一个段落。QPlainTextEdit控件中的文档可以是一个或者多个段落组成,且段落中的每个字符都可以有其自己的属性,比如自己的字体和颜色。
QPlainTextEdit常用方法:
函数名 | 说明 |
---|---|
setPlainText(const QString &text)
|
设置多行文本框的内容 |
insertPlainText(const QString &text)
|
插入普通文本 |
appendPlainText(const QString &text)
|
添加普通文本 |
toPlainText()
|
获取到所有文字 |
appendHtml(const QString &html)
|
添加HTML文本内容 |
setReadOnly(bool op)
|
设置成只读模式 |
isReadOnly()
|
是否是只读模式 |
setLineWrapMode()
|
设置换行模式,取值有: QPlainTextEdit::NoWrap 不自动换行 QPlainTextEdit::WidgetWidth 根据文本框的宽度自动换行 |
lineWrapMode()
|
获取换行模式 |
QPlainTextEit常用的信号:
信号名 | 说明 |
---|---|
textChanged()
|
文本内容发生改变时触发 |
selectionChanged()
|
选中内容发生改变时触发 |
cursorPositionChanged()
|
光标位置发生改变时触发 |
copyAvaliable()
|
复制可用时触发 |
redoAvaliable()
|
重做可用时触发 |
undoAvaliable()
|
撤销可用时触发 |
QPlainTextEit提供cut()
、copy()
、paste()
、undo()
、redo()
、clear()
、selectAll()
等标准编辑功能的槽函数。
QPlainText的文字内容以QTextDocument类型存储,函数QPlainTextEdit::document()
返回文档对象的指针。
QTextDocument以文本块的方式存储,一个文本块是一个段落,每个段落以回车符结束。QTextDocument提供一些函数实现对文本内容的存取:
int blockCount()
:获取文本块个数;QTextBlock findBlockByNumber(int blockNumber)
:读取某个文本块,序号从0开始;通过QTextBlock::text()可以获取纯文本文字。
1. 逐行读取文本编辑框的内容
void MainWindow::on_pushButton_Update_clicked()
{// 将文本框中的内容更新到下拉表中QTextDocument *doc = ui->plainTextEdit_Edit->document();int nCnt = doc->blockCount();for(int i=0;i<nCnt;++i){QTextBlock textBlock = doc->findBlockByNumber(i);QString strtext = textBlock.text();ui->comboBox->insertItem(i,strtext);}
}
2. 使用QPlainTextEdit自带的快捷菜单
void MainWindow::on_plainTextEdit_Edit_customContextMenuRequested(const QPoint &pos)
{// 自带的右键快捷菜单信号槽函数// 创建并显示标准弹出式菜单QMenu *menu = ui->plainTextEdit_Edit->createStandardContextMenu(); // 创建菜单menu->exec(pos);
}
3. 作为日志显示窗口
示例代码:
void AddLog(const char *fmt,...)
{QPlainTextEdit *plainTextEdit = ui->showInformation_plainTextEdit;// 设置当前控件为只读if(!ui->showInformation_plainTextEdit->isReadOnly()){ui->showInformation_plainTextEdit->setReadOnly(true);}// 设置光标到文本末尾plainTextEdit->moveCursor(QTextCursor::End,QTextCursor::MoveAnchor);va_list list;va_start(list,fmt);QDate date = QDate::currentDate();QTime time = QTime::currentTime();QString str = QString().vsprintf(fmt,list);va_end(list);QString strtext = "";strtext.sprintf("[%04d-%02d-%02d %02d:%02d:%02d.%03d] %s\r\n",date.year(),date.month(),date.day(),time.hour(),time.minute(),time.second(),time.msec(),str.toStdString().data());ui->showInformation_plainTextEdit->insertPlainText(strtext);// 移动滚动条到底部QScrollBar * scrollbar = ui->showInformation_plainTextEdit->verticalScrollBar();if(scrollbar){scrollbar->setSliderPosition(scrollbar->maximum());}
}
QPlainTextEdit使用示例:https://gitee.com/zoya23/qt-examples。
【Qt】控件——QPlainTextEdit使用简单介绍:常用方法及信号、逐行读取编辑框的内容、使用自带的快捷菜单、作为日志显示窗口相关推荐
- 大量的QT控件及示例发放,求泛滥
大量的QT控件及示例发放,求泛滥 2017年01月13日 14:36:22 阅读数:781 在论坛中,看到一位朋友介绍http://qt-apps.org/站上有很多好的资料和示例,现在发出来,与大 ...
- QT控件系列一 | 半透明遮罩弹窗
QT控件系列一 | 半透明遮罩(弹窗) 文章目录 QT控件系列一 | 半透明遮罩(弹窗) 1.1 前言 1.2 原理(技术点) 1.3 使用 1.4 资源下载 1.1 前言 我们看Windows桌 ...
- .net数据源控件绑定mysql_数据源控件与数据绑定控件的进一步简单讨论(1)
简单的说,DataSource数据源控件是一个抽象的数据库,可以在该数据库里进行数据的操作(Select,Delete,Update和Insert).数据源控件通过控件的DataSourceID和具有 ...
- Qt入门之常用qt控件认知之QLabel
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://hongbin0720.blog.51cto.com/3305400/123043 ...
- android比较常用的布局,Android_九宫图比较常用的多控件布局(GridView)使用介绍,GridView跟ListView都是比较常用的 - phpStudy...
九宫图比较常用的多控件布局(GridView)使用介绍 GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫 ...
- 使用timer控件创建一个简单的报警程序
简介: 当我使用计算机工作时,我总是如此的专心致志,以至于每当我过了"一会儿"去看时间时,发现已经过了三个小时,而我却完全没有意识到!所以我决定使用我从Code Project学来 ...
- WPF 表格控件 ReoGrid 的简单使用
WPF 表格控件 ReoGrid 的简单使用 目录 一.概述 二.安装 三.添加控件 四.加载 Excel 五.属性设置 六.支持触摸滚动 七.其它操作 1.显示和隐藏列 2.显示特定字体 八.资源链 ...
- Qt控件使用方法技巧合集
Qt控件使用方法技巧合集 ~~~~~~~~ 本篇博客代码示例包含C++版本和Python版本,不管是哪个版本,Qt的API都是一样的,使用方式大同小异. 文章目录 Qt控件使用方法技巧合 ...
- Android Design Support Library 中控件的使用简单介绍(一)
Android Design Support Library 中控件的使用简单介绍(一) 介绍 在这个 Lib 中主要包含了 8 个新的 material design 组件!最低支持 Android ...
最新文章
- 一文带你看懂Springboot核心功能及优缺点
- php动态语言静态化
- Zebra斑马打印机指令编程进阶(语言通用)--利用指令绘制出图像打印
- html iframe.b.gen 病毒,常见病毒及处理方法.doc
- ubuntu下安装Thinkpad指纹识别系统
- 介绍一个好用的日期倒计时工具
- w10家庭版安装java不_小编为你分析win10系统安装不了java的设置办法
- Android五大布局详解
- css3鼠标悬停图片抖动效果
- html5在线预览附件,干货-基于html5的本地多图上传并可在线预览
- 淘宝钻石(信用)的等级
- python学生教务管理系统
- Java实现QQ邮件群发功能
- 瑞典皇家理工学院计算机学什么,瑞典皇家理工学院有哪些研究生专业
- 如何找短视频素材?这些工具可以帮到你
- 拼手气红包算法_线段切割法
- 怎么把歌曲的格式改成mp3格式?
- linux中项目常用的start.sh和stop.sh
- 5G商用落地 “样板间”未达预期, URLLC如何带头提前进入5.5G时代?
- plot fplot ezplot