【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明

这篇具有很好参考价值的文章主要介绍了【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

Qt常用控件 | 输入类控件 | Text Edit的使用及说明

文章编号:Qt 学习笔记 / 29


一、QTextEdit介绍

1. 简介

QTextEdit是Qt中的一个可编辑的文本框控件,可以用于显示和编辑多行文本。 它是基于QPlainTextEdit的一个子类,提供了更丰富的功能。

QTextEdit可以用于显示富文本,支持使用HTML或其他格式来设置文本的样式,包括字体、颜色、大小、对齐方式等。 它还可以显示图像和链接,并且可以响应用户的点击事件。

除了显示富文本,QTextEdit还支持一些基本的文本编辑操作,如复制、剪切、粘贴和撤销。它还提供了一些高级的编辑功能,如查找和替换、查看和修改文本的样式、插入列表和表格等。

2. 常见属性及说明

属性 说明
markdown 输⼊框内持有的内容. ⽀持 markdown 格式. 能够⾃动的对markdown ⽂本进⾏渲染成 html
html 输⼊框内持有的内容. 可以⽀持⼤部分 html 标签. 包括 img 和 table 等.
placeHolderText 输⼊框为空时提⽰的内容.
readOnly 是否是只读的
undoRedoEnable 是否开启 undo / redo 功能.
按下 ctrl + z 触发 undo
按下 ctrl + y 触发 redo
autoFormating 开启⾃动格式化.
tabstopWidth 按下缩进占多少空间
overwriteMode 是否开启覆盖写模式
acceptRichText 是否接收富⽂本内容
verticalScrollBarPolicy 垂直⽅向滚动条的出现策略
• Qt::ScrollBarAsNeeded : 根据内容⾃动决定是否需要滚动条。这是默认值。
• Qt::ScrollBarAlwaysOff : 总是关闭滚动条。
• Qt::ScrollBarAlwaysOn : 总是显⽰滚动条。
horizontalScrollBarPolicy ⽔平⽅向滚动条的出现策略
• Qt::ScrollBarAsNeeded : 根据内容⾃动决定是否需要滚动条。这是默认值。
• Qt::ScrollBarAlwaysOff : 总是关闭滚动条。
• Qt::ScrollBarAlwaysOn : 总是显⽰滚动条。

3. 重要信号及说明

信号 说明
textChanged() ⽂本内容改变时触发
selectionChanged() 选中范围改变时触发
cursorPositionChanged() 光标移动时触发
undoAvailable(bool) 可以进⾏ undo 操作时触发
redoAvailable(bool) 可以进⾏ redo 操作时触发
copyAvaiable(bool) ⽂本被选中/取消选中时触发

二、QTextEdit的使用(代码示例)

1. 获取多行输入框的内容

  1. 在界面中创建一个label和一个TextEdit控件
    【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5
  2. 右键控件转到槽,选择textChanged()处理信号
    【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5
  3. 编辑生成的槽函数,QTextEdit 还提供了 toMarkdown 和 toHtml . 根据需要我们调整不同的获取方式
void Widget::on_textEdit_textChanged()
{
    //获取多行输入框的内容
    const QString& text = ui->textEdit->toPlainText();
    //在日志中打印获取到的内容
    qDebug()<<text;
    //将label标签的内容改为获取到的内容
    ui->label->setText(text);
}
  1. 运行代码,查看结果
    【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5

文件代码:

#include "widget.h"
#include "ui_widget.h"
#include  <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_textEdit_textChanged()
{
    //获取多行输入框的内容
    const QString& text = ui->textEdit->toPlainText();
    //在日志中打印获取到的内容
    qDebug()<<text;
    //将label标签的内容改为获取到的内容
    ui->label->setText(text);
}

2. 验证输入框的各种信号

  1. 在界面中创建一个TextEdit控件
    【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5
  2. 给输入框添加以下几个 slot 函数,其中QTextCursor对象,获得这个对象可以获取当前光标位置和选中的内容
void Widget::on_textEdit_textChanged()
{
    qDebug()<<"[textEdit]"<<ui->textEdit->toPlainText();
}

void Widget::on_textEdit_selectionChanged()
{
    const QTextCursor& cursor = ui->textEdit->textCursor();
    qDebug() << "[selectionChanged] " << cursor.selectedText();
}

void Widget::on_textEdit_cursorPositionChanged()
{
    const QTextCursor& cursor = ui->textEdit->textCursor();
    qDebug() << "[cursorPositionChanged] " << cursor.position();
}

void Widget::on_textEdit_redoAvailable(bool b)
{
    qDebug() << "[redoAvailable] " << b;
}

void Widget::on_textEdit_undoAvailable(bool b)
{
    qDebug() << "[undoAvailable] " << b;
}

void Widget::on_textEdit_copyAvailable(bool b)
{
    qDebug() << "[copyAvailable] " << b;
}
  1. 运行代码,查看结果
  • 在输入框中输入123
    【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5
  • 先Ctrl+Z(撤回)然后Ctrl+Y(返回上一步)
    【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5
  • 选中一个字符(Shift+方向键左)
    【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5

文件代码:

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_textEdit_textChanged()
{
    qDebug()<<"[textEdit]"<<ui->textEdit->toPlainText();
}

void Widget::on_textEdit_selectionChanged()
{
    const QTextCursor& cursor = ui->textEdit->textCursor();
    qDebug() << "[selectionChanged] " << cursor.selectedText();
}

void Widget::on_textEdit_cursorPositionChanged()
{
    const QTextCursor& cursor = ui->textEdit->textCursor();
    qDebug() << "[cursorPositionChanged] " << cursor.position();
}

void Widget::on_textEdit_redoAvailable(bool b)
{
    qDebug() << "[redoAvailable] " << b;
}

void Widget::on_textEdit_undoAvailable(bool b)
{
    qDebug() << "[undoAvailable] " << b;
}

void Widget::on_textEdit_copyAvailable(bool b)
{
    qDebug() << "[copyAvailable] " << b;
}

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明,Qt,qt,学习,笔记,c++,开发语言,qt5文章来源地址https://www.toymoban.com/news/detail-861433.html

到了这里,关于【Qt 学习笔记】Qt常用控件 | 输入类控件 | Text Edit的使用及说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT学习笔记:调整控件大小和位置

    前面的文章,我讲了怎么用layout去布局。但布局做完后,发现界面有点怪。比如,最低下的“清除”按钮这么大,“消息体”这个label没有位于中间等。下面,我就来讲下怎么把界面继续优化。 1、调整“清除”按钮大小和位置 (1)在“sizePolicy”中,选择Fixed。 (2)把左边

    2024年02月12日
    浏览(49)
  • [UI5 常用控件] 01.Text

    Text是UI5中最常用的控件之一。 记录Text常用的功能。 控件路径是sap.m.Text Controller View 普通绑定: 别名绑定: binding绑定: 别名binding绑定: bindText bindText with alias bindProperty bindElement setText getText

    2024年01月24日
    浏览(35)
  • 物联网|按键实验---学习I/O的输入及中断的编程|函数说明的格式|如何使用CMSIS的延时|读取通过外部中断实现按键捕获代码的实现及分析-学习笔记(14)

    1 代码的流程分析 2 代码的实现 库函数HAL_Init(void)分析: HAL_Delay()系统延时的步骤: 它的实现步骤如下: 1.用变量获得系统时钟源计数器的值 2.获得要延迟时间的参数值 3.比较两者大小,若时钟计数器的值大于要实现延迟的值,就会困在循环里;反之,跳出循环,延时完成。

    2024年02月14日
    浏览(44)
  • 【MFC】03.常用复杂控件的使用-笔记

    对话框-类向导:初始化函数中,热键需要在最开始的时候就注册进去: 注册热键: 在这之前,先去定义一个宏,代表你这个快捷键。 相应消息: 类向导-添加消息处理:WM_HOTKY消息 全局消息钩子:在所有页面上都可以使用该热键 给空间添加变量m_IP 设置 清除: 获取 添加变

    2024年02月14日
    浏览(33)
  • QT常用控件 ——QStackedWidget控件

    QStackedWidget继承自QFrame。 QStackedWidget类提供了多页面切换的布局,一次只能看到一个界面。 QStackedWidget可用于创建类似于QTabWidget提供的用户界面。 💚💚💚先来看看QTabWidget控件的效果:   需要注意的是 : QTabWidget的 currentTabText 用于修改名称 。在 插入页 中插入新的界面。

    2024年02月08日
    浏览(72)
  • QT学习笔记-QT5.15编译及安装谷歌拼音输入法(QtInputMethod_GooglePinyin)

    在使用QT进行嵌入式应用开发时,往往程序最终的运行设备是有触屏的设备。因此,不可避免的会遇到虚拟键盘和中文输入的问题。QT自带一个虚拟键盘,可以在构建套件/plugins/platforminputcontexts目录下看到2个文件: qtvirtualkeyboardplugin.dll qtvirtualkeyboardplugin.dll.debug QT自带的虚拟键

    2024年02月12日
    浏览(41)
  • 【LVGL学习笔记】(三)控件使用

    LVGL全程LittleVGL,是一个轻量化的,开源的,用于嵌入式GUI设计的图形库。并且配合LVGL模拟器,可以在电脑对界面进行编辑显示,测试通过后再移植进嵌入式设备中,实现高效的项目开发。 LVGL中文教程手册:极客笔记之LVGL教程 特点 弧的0度在右边,90度在下边 效果图 源码

    2024年02月03日
    浏览(37)
  • MFC 与 QT“常用控件”对比

    1、 常用控件 MFC QT 1.静态文本框/标签 CStatic QLabel 按钮 CButton包含了 3种样式 的按钮,Push Button,Check Box,Radio Box 4种不同的类 2.按钮:推动按钮 Push Button(同一个类CButton) QPushButton 3.按钮:单选按钮 Radio Box(同一个类CButton) QRadioButton 4.按钮:复现框 Check Box(同一个类CButton) Qcheck

    2024年02月09日
    浏览(30)
  • Qt6.2教程——7.QT常用控件QTextEdit

    QTextEdit 是 Qt 的一个用于编辑和显示纯文本和富文本的控件。它是功能强大且高度灵活的,可以用于实现多种任务,如文本编辑,数据表示,以及HTML的显示和编辑等。QTextEdit 支持富文本功能,这意味着它可以显示各种字体,颜色和文字格式。同时,QTextEdit 也支持文本搜索,

    2024年02月11日
    浏览(33)
  • Qt6.2教程——5.QT常用控件QLabel

    QLabel是Qt库中一个非常基础且重要的类。它主要用于在图形用户界面(GUI)中展示文本或图片。最常见的用法就是在窗口上显示一段文字或者标签,比如“用户名”,“密码”等等。QLabel继承自QFrame,因此它也可以具有框架。它能处理富文本格式,这意味着您可以改变部分文本的

    2024年02月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包