其实,QTextEdit 也有对文本的编辑函数, 剪切,复制,撤销.....
看看下面的这个简单的例子:
控件一目了然。按钮 + QTextedit 对象 , 垂直布局。
--------------------------------------------------
环境:Windows 8.1
QT版本:5.4.0
开发环境:VS2013
---------------------------------------------------
代码:
头文件
#ifndef EDIT_WIDGET
#define EDIT_WIDGET#include <QTextEdit>
#include <QWidget>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>class EditWidget : public QWidget
{Q_OBJECT
public:explicit EditWidget(QWidget *parent = 0);~EditWidget();private:QTextEdit *textEdit;///-----------------QPushButton *cutBtn;QPushButton *copyBtn;QPushButton *undoBtn;QPushButton *pasteBtn;QPushButton *selectAllBtn;
};#endif //EDIT_WIDGET
.cpp文件
#include "eidt_widget.h"EditWidget::EditWidget(QWidget *parent /*= 0*/) :QWidget(parent)
{//---窗口大小 resize(600, 400);///---设置窗口标题setWindowTitle("QTextEdit");///------ 实例化 QTextEdittextEdit = new QTextEdit();textEdit->setFixedSize(600, 400);///---------------------------------------------cutBtn = new QPushButton("cut");copyBtn = new QPushButton("copy");pasteBtn = new QPushButton("paste");undoBtn = new QPushButton("undo");selectAllBtn = new QPushButton("select All");///---绑定信号与槽QObject::connect(cutBtn, SIGNAL(clicked()), textEdit, SLOT(undo()));QObject::connect(copyBtn, SIGNAL(clicked()), textEdit, SLOT(copy()));QObject::connect(pasteBtn, SIGNAL(clicked()), textEdit, SLOT(paste()));QObject::connect(undoBtn, SIGNAL(clicked()), textEdit, SLOT(undo()));QObject::connect(selectAllBtn, SIGNAL(clicked()), textEdit, SLOT(selectAll()));///---水平布局按钮QHBoxLayout *hLayout = new QHBoxLayout();hLayout->addWidget(copyBtn);hLayout->addWidget(cutBtn);hLayout->addWidget(pasteBtn);hLayout->addWidget(undoBtn);hLayout->addWidget(selectAllBtn);hLayout->setSpacing(10);hLayout->setContentsMargins(10, 10, 10, 10);///----将按钮 , textEdit 垂直布局QVBoxLayout *vLayout = new QVBoxLayout();vLayout->addLayout(hLayout);vLayout->addWidget(textEdit);vLayout->setSpacing(10);vLayout->setContentsMargins(10, 10, 10, 10);///---显示布局this->setLayout(vLayout);
}///---析构函数
EditWidget::~EditWidget()
{}
main.cpp
#include <QtWidgets/QApplication>
#include "eidt_widget.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);EditWidget win;win.show();return a.exec();
}
这里只是枚举了简单的几项操作,关于QTextEdit 对文本的字体选择,字体颜色等操作,请参考QT Assistant

















