QTextEdit 如果对您有用记得点赞哦)
QTextEdit 类提供了一个查看器/编辑器小部件。
例子
用一个 QTextEdit 来演示文本的输入,用两个QPushButton 来模拟文本编辑的全选与清除。在 QTextEdit 里也可用键盘的快捷键(如 Ctrl+A)来完成全选,复制,粘贴等操作。Qt 提供了全选,复制粘贴等这一类的函数方便用户操作,下面用简单的实例来演示。
头文件“mainwindow.h”具体代码如下。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QTextEdit>
#include <QPushButton>
#include <QMainWindow>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
/* 声明一个QTextEdit对象 */
QTextEdit *textEdit;
/* 声明两个QPushButton对象 */
QPushButton *pushButtonSelectAll;
QPushButton *pushButtonClearAll;
private slots:
/* 声明两个槽函数,响应按钮点击响应的事件 */
void pushButtonSelectAllClicked();
void pushButtonClearAllClicked();
};
#endif // MAINWINDOW_H
源文件“mainwindow.cpp”具体代码如下。
#include "mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
/* 设置主窗体显示的位置和大小 */
this->setGeometry(0, 0, 800, 480);
/* 实例和对象,设置位置和显示大小 */
textEdit = new QTextEdit(this);
textEdit->setGeometry(0, 0, 800, 400);
/* 实例和对象,设置位置和显示大小,设置文本 */
pushButtonSelectAll = new QPushButton(this);
pushButtonSelectAll->setGeometry(200, 420, 50, 20);
pushButtonSelectAll->setText("全选");
/* 实例和对象,设置位置和显示大小,设置文本 */
pushButtonClearAll = new QPushButton(this);
pushButtonClearAll->setGeometry(500, 420, 50, 20);
pushButtonClearAll->setText("清除");
/* 信号槽连接 */
connect(pushButtonSelectAll, SIGNAL(clicked()), this,
SLOT(pushButtonSelectAllClicked()));
connect(pushButtonClearAll, SIGNAL(clicked()), this,
SLOT(pushButtonClearAllClicked()));
}
MainWindow::~MainWindow()
{
}
void MainWindow::pushButtonSelectAllClicked()
{
/* 设置焦点为textEdit */
textEdit->setFocus();
/* 判断文本编辑框内容是否为空,不为空则全选 */
if(!textEdit->toPlainText().isEmpty()){
/* 全选 */
textEdit->selectAll();
}
}
void MainWindow::pushButtonClearAllClicked()
{
/* 清空textEdit里的文本内容 */
textEdit->clear();
}
运行效果: