QLabel & QTextEdit

本文详细介绍了Qt中的QLabel与QTextEdit控件的功能与使用方法。QLabel用于显示多种类型的内容如文本、图像等,而QTextEdit则支持更复杂的文本编辑功能。文章还介绍了这些控件的常用属性及如何进行配置。

       大概看了下Qt帮助文档,学习、了解QLabel和QTexEdit。

       QLabel可以显示 plain text、rich text、pixmap、movie、number、null,但不提供像Edit这样的交互行为。

部分属性有:

1、可以设置对齐方式setAlignment(),缩进setIndent()

2、还可以设置buddy(转移蕉点作用,有buddy时,选中QLabel时,蕉点会跳到buddy)

3、设置图片时,可以设置是不拉伸充满QLabel


       QTextEdit可以显示 plain text、rich text、pixmap和其他一些格式文档。

可以用作:

1、显示控件

支持Html格式显示

2、作为编辑器

可以设置内容的字体、显示方式、操作光标、可不可编辑、是否可以paste、cut


在编辑框内可以用的快捷键有:


#include "mainwindow.h" #include "ui_mainwindow.h" #include <QMenu> #include <QMenuBar> #include <QLabel> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { // 创建状态栏标签 statusLabel = new QLabel(this); statusBar()->addPermanentWidget(statusLabel); // 连接信号 connect(ui->textEdit, &QTextEdit::textChanged, this, &MainWindow::updateStatusBar); connect(ui->textEdit, &QTextEdit::cursorPositionChanged, this, &MainWindow::updateStatusBar); updateStatusBar(); // 初始更新 ui->setupUi(this); } void MainWindow::updateStatusBar() { // 获取光标位置 QTextCursor cursor = ui->textEdit->textCursor(); int line = cursor.blockNumber() + 1; // 当前行号 (1-based) int column = cursor.columnNumber() + 1; // 当前列号 (1-based) // 统计总行数 int totalLines = ui->textEdit->document()->lineCount(); // 统计字数(中英文均算1个字) QString content = ui->textEdit->toPlainText(); int charCount = content.length(); // 包括空格换行符 int wordCount = content.split(QRegExp("\\s+"), QString::SkipEmptyParts).count(); // 更新状态栏文本 statusLabel->setText( QString("行: %1/%2 | 列: %3 | 字数: %4 | 单词: %5") .arg(line).arg(totalLines) .arg(column) .arg(charCount) .arg(wordCount) ); } MainWindow::~MainWindow() { delete ui; } 哪里有问题QObject::connect: invalid null parameter QObject::connect: invalid null parameter
最新发布
07-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值