当前位置: 首页 > news >正文

Qt常用控件——QTextEdit

文章目录

    • QTextEdit核心属性和信号
    • 同步显示示例
    • 信号示例

QTextEdit核心属性和信号

QTextEdit表示多行输入框,是一个富文本和markdown编辑器,并且能在内存超出编辑框范围时自动提供滚动条。

QPlainTexEdit是纯文本,QTextEdit不仅表示纯文本,还支持html和markdown。

它们的功能差不多,本篇就以QTextEdit为示例

核心属性:

属性说明
markdown支持markdown格式
html支持html
placeHolderText输入框为空时有提示内容
readOnly是否只读
undoRedoEnable是否开启undo/redo功能
按下ctrl + z 触发undo(撤销)
按下ctrl + y 触发redo(取消撤销)
autoFormating开启自动格式化
tabstopWidth按下缩进多少空间
overwriteMode是否开启写覆盖
acceptRichText是否接受富文本
verticalScrollBarPolicy垂直方向出现滚动条策略:
Qt::ScrollBarAsNeeded:根据内容自动决定是否需要滚动条(默认)
Qt::ScrollBarAlwaysOff:总是关闭滚动条
Qt::ScrollBarAlwaysOn:总是出现滚动条
horizontalScrollBarPolicy水平方向出现滚动条策略:
同上

核心信号:

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

同步显示示例

创建一个界面,里面包含多行输入框,获取里面的内容,同步显示到label当中

image-20240913215200438

#include "widget.h"
#include "ui_widget.h"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();ui->label->setText(text);
}

GIF 2024-9-13 21-55-21

信号示例

#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() << "textChanged: " << ui->textEdit->toPlainText();
}void Widget::on_textEdit_selectionChanged()
{//描述当前光标情况QTextCursor cursor = ui->textEdit->textCursor();qDebug() << "selectionChanged: " << cursor.selectedText();
}void Widget::on_textEdit_cursorPositionChanged()
{QTextCursor cursor = ui->textEdit->textCursor();qDebug() << "cursorPositionChanged: " << cursor.position();
}void Widget::on_textEdit_undoAvailable(bool b)
{qDebug() << "undoAvailable: " << b;
}void Widget::on_textEdit_redoAvailable(bool b)
{qDebug() << "redoAvailable: " << b;
}void Widget::on_textEdit_copyAvailable(bool b)
{qDebug() << "copyAvailable" << b;
}

GIF 2024-9-13 22-07-27

http://www.lryc.cn/news/441381.html

相关文章:

  • docker-compose 部署 flink [支持pyflink]
  • C++中string类的模拟实现
  • C++函数在库中的地址
  • 图像生成大模型imagen
  • Redis集群知识及实战
  • 数据报表轻松管理,强大“后台”不可少
  • 简易CPU设计入门:本CPU项目的指令格式
  • Datawhile 组队学习Tiny-universe Task01
  • MCU与SOC的区别
  • 51单片机-DS18B20(温度传感器)AT24C02(存储芯片) IIC通信-实验2-温度实时监测(可设置阈值)
  • Vue2接入高德地图API实现搜索定位和点击获取经纬度及地址功能
  • msvcp140.dll丢失如何解决?msvcp140.dll丢失的多种解决方法
  • 高效财税自动化软件如何提升企业财务工作的效率与准确性
  • Leetcode 3286. Find a Safe Walk Through a Grid
  • shell脚本语法
  • TCP 拥塞控制:一场网络数据的交通故事
  • (黑马点评) 五、探店达人系列功能实现
  • SQLiteDatabase insert or replace数据不生效
  • 基于Python实现一个浪漫烟花秀
  • 电气自动化入门03:安全用电
  • 【深度学习】(2)--PyTorch框架认识
  • 前端面试记录
  • 裁员了,很严重,大家做好准备吧!
  • uniapp组件uni-datetime-picker选择年月后在ios上日期不显示
  • 01_快速入门
  • 数据结构之分文件编译学生管理
  • TypeScript入门 (二)控制语句
  • MVP 最简可行产品
  • 数仓工具:datax
  • CSS传统布局方法(补充)——WEB开发系列37