当前位置: 首页 > 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.mrgr.cn/news/26332.html

相关文章:

  • 心觉:收钱就像喝水一样简单,是如何做到的?
  • lvs命令介绍
  • 尤雨溪推荐的拖拽插件,支持Vue2/Vue3 VueDraggablePlus
  • 【LeetCode】每日一题 2024_9_13 预算内的最多机器人数目(滑动窗口、单调队列)
  • 论文速递! Attention-LSTM特征融合,用于剩余使用寿命(RUL)预测
  • 会计信息化:从核算软件到智能系统
  • 力扣3014.输入单词需要的最少按键次数I
  • 【STM32】独立看门狗(IWDG)原理详解及编程实践(上)
  • Linux 防火墙:iptables (二)
  • Docker和Docker-compose
  • jQuery以及jQuery的选择器
  • NEXT.js 中间件 NextResponse.redirect 无效
  • JS - 获取剪切板内容 Clipboard API
  • 从控制系统角度理解拉普拉斯卷积定理
  • 2024.9.13 系统运维
  • Java铸基之路:运算符的深入学习!(上)
  • SQL Server 语句日期格式查找方法
  • axure循环介绍
  • 五种IO模型与非阻塞IO
  • 代码随想录Day 42|leetcode题目:188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费