QT输入控件之QTextEdit文本编辑器
文章目录
概述
QTextEdit 是一种先进的 WYSIWYG 查看器/编辑器支持丰富的文本格式,类似 HTML 风格的标记。它可以用于优化处理大型文档和快速响应用户的输入。QTextEdit 既可以作为显示控件使用,也可以作为丰富文本编辑器使用。
**QTextEdit 基于段落和字符工作的,一个段落就是一个格式化的字符串,一般以换行符作为段落分隔标志。**阅读纯文本时,一个换行符代表一个段落,一个文档中包含 0 个或多个段落时,显示的内容按照段落的对齐方式显示并自动换行。每个字符在一个段落里都有自己的属性。例如:字体和颜色。
QTextEdit 可以显示图片、列表和表格,如果文档太大,QTextEdit 自带滚动条,可以显示很多页的文档。QTextEdit 既可以编辑普通文本(plain text),也可以编辑丰富文本(rich text)。QTextEdit 支持的丰富文本格式是 HTML 标记语言的一个子集,在 Qt 帮助手册搜索 Supported HTML Subset,可以查看具体支持哪些标记。
创建QTextEdit文本编辑框需要添加#include<QTextEdit>
头文件
提示:以下是本篇文章正文内容,下面案例可供参考
2.4.4.1QTextEdit常用的成员函数
1、文本设置函数
void setText(const QString & text) 根据内容区分显示网页或普通文本
void setHtml(const QString & text) 显示丰富的 HTML 网页文本
void setPlainText(const QString & text) 显示普通的无格式文本
void QTextEdit::insertHtml(const QString &text) void 在光标插入 HTML
void QTextEdit::insertPlainText(const QString &text) 在光标处插入文本
QTextEdit::paste() 将剪贴板的数据粘贴到光标处
2、文本自动换行
LineWrapMode lineWrapMode() const
void setLineWrapMode(LineWrapMode mode)
LineWrapMode 属性保存着自动换行模式。
LineWrapMode 有以下 4 个枚举值:
常量 | 数值 | 描述 |
---|---|---|
QTextEdit::NoWrap | 0 | 不自动换行 |
QTextEdit::WidgetWidth | 1 | 根据控件大小自动换行 |
QTextEdit::FixedPixelWidth | 2 | 根据设置的固定值换行,以像素为单位 |
QTextEdit::FixedColumnWidth | 3 | 根据设置的固定值换行,以列为单位 |
文本显示默认是根据控件的宽度自动换行的,超出控件显示范围,会自动调用滚动条显示,可以通过拖动滚
动条查看文本。如果不想自动换行,可以设置 QTextEdit::NoWrap 属性。
3、设置自动换行的位置
int lineWrapColumnOrWidth() const //获取当前设置的换行位置
void setLineWrapColumnOrWidth(int w) //设置换行位置
4、获取显示的文本
QString QTextEdit::toPlainText() const //返回普通无格式文本
QString toHtml() const
5、文本所搜功能
bool QTextEdit::find(const QString & exp, QTextDocument::FindFlags options = 0)
bool QTextEdit::find(const QRegExp & exp, QTextDocument::FindFlags options = 0)
这是一个重载函数,第一个函数用于查找字符串,查找成功返回真,并且高亮查找到的字符串,查找失败返
回假。第二个函数用于匹配正则表达式,查找成功返回真,并且高亮查找到的文本字符串,查找失败返回假。
QTextDocument::FindFlags 是一个枚举常量,使用时需要加载#include <QTextDocument>
头文件:
常量 | 数值 | 描述 |
---|---|---|
QTextDocument::FindBackward | 0x00001 | 向后搜索单词 |
QTextDocument::FindCaseSensitively | 0x00002 | 默认情况下搜索不区分大小写。指定这个选项可以更改支持区分大小写。 |
QTextDocument::FindWholeWords | 0x00004 | 只匹配完整的单词。 |
6、便捷的打印函数,可以将文本直接输出到打印机或者打印为PDF格式
void QTextEdit::print(QPagedPaintDevice *printer) const
7、设置QText插入的文本格式
bool acceptRichText() const
void setAcceptRichText(bool accept)
该属性默认为 true 表示支持插入富文本数据。比如:从粘贴等。当该属性设置为 false 的时候表示 QText 只
支持插入纯文本数据。
8、只读属性
bool isReadOnly() const
void setReadOnly(bool ro)
该属性默认为 false,设置为 true 表示 QText 文本只能读不能编辑。
9、设置Tab键宽度
int tabStopWidth() const;
void setTabStopWidth(int width);
默认宽度为 80 像素。相当于 8 个空格的宽度。
10、设置QText支持重做功能(Ctrl+z功能)
bool isUndoRedoEnabled() const
void setUndoRedoEnabled(bool enable)
11、设置用户与 QText 交互的属性
Qt::TextInteractionFlags textInteractionFlags() const
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
Qt::TextInteractionFlag 枚举值:
常量 | 描述 |
---|---|
Qt::NoTextInteraction | 不支持输入 |
Qt::TextSelectableByMouse | 文本可以用鼠标选择并复制到剪贴板,使用上下文菜单或标准的键盘快捷键。 |
Qt::TextSelectableByKeyboard | 显示文本光标。 |
Qt::LinksAccessibleByMouse | 超链接可以突出显示并激活鼠标复制链接功能。 |
Qt::TextEditable | 支持编辑 |
Qt::TextEditorInteraction | 默认为一个文本编辑器。 |
Qt::TextBrowserInteraction | 默认为一个文本查看器 |
12、设置文本光标的宽度
int cursorWidth() const;
void setCursorWidth(int width);
光标默认宽度为 1。
13、获取当前的行位置和列数量
QTextCursor QTextEdit::textCursor() const //获取当前光标的位置信息
void QTextEdit::setTextCursor(const QTextCursor &cursor) //设置光标的位置信息
获取当前行和列的位置示例:
QTextCursor cur=ui->textEdit->textCursor(); //获取当前光标位置
int colnum=cur.blockNumber();
int rownum=cur.columnNumber();
qDebug()<<"列:"<<colnum; //列位置
qDebug()<<"行:"<<rownum; //行位置
2.4.4.2QTextEdit常用的槽函数
1、丰富的文本格式设置
槽函数 | 描述 |
---|---|
void QTextEdit::setCurrentFont(const QFont & f) | 设置文字显示格式 |
void QTextEdit::setFontItalic(bool italic) | 设置文字为斜体 |
void QTextEdit::setFontWeight(int weight) | 设置文字为粗体字 |
void setTextColor(const QColor & c) | 设置文字前景的颜色 |
void setTextBackgroundColor(const QColor & c) | 设置文字背景的颜色 |
void setFontPointSize(qreal s) | 设置文字尺寸大小。如:8、16、32、64 |
void QTextEdit::setFontUnderline(bool underline) | 设置文字显示下划线 |
void QTextEdit::setAlignment(Qt::Alignment a) | 设置段落对齐的方式 |
void QTextEdit::setFontFamily(const QString & fontFamily) | 设置当前的字体格式 fontFamily。 |
QString QTextEdit::fontFamily() const | 返回当前设置的字体格式 |
以上设置字体格式的函数全是槽函数,可以直接与其他控件的状态信号关联,方便设置。比如:将
QFontComboBox 字体组合框选择信号与设置字体的槽函数关联即可实时设置字体。
字体设置示例:
//字体家族设置,直接关联字体组合框的信号到编辑框槽函数
connect(ui->fontComboBox, SIGNAL(currentIndexChanged(QString)),ui->textEdit_xiaolong,
SLOT(setFontFamily(QString)));
}
2、设置段落对齐方式
void QTextEdit::setAlignment(Qt::Alignment a)
Qt::Alignment 是一个枚举,使用该枚举常量需要加载头文件#include <Qt>
。枚举值定义如下:
常数 | 数值 | 描述 |
---|---|---|
Qt::AlignLeft | 0x0001 | 左对齐 |
Qt::AlignRight | 0x0002 | 右对齐 |
Qt::AlignHCenter | 0x0004 | 居中对齐 |
Qt::AlignJustify | 0x0008 | 两端对齐 |
3、斜体字设置
void QTextEdit::setFontItalic(bool italic)
bool QTextEdit::fontItalic() const
设置选中文字为斜体格式。italic =true 表示设置为斜体格式,否则取消设置
4、粗体字设置
void QTextEdit::setFontWeight(int weight) 设置字体格式为粗体
int QTextEdit::fontWeight() 检测当前格式是否为粗体
示例:
/*检测编辑器文本字体是否是粗体*/
if(ui->textEdit_xiaolong->fontWeight()==QFont::Bold)
{
ui->textEdit_xiaolong->setFontWeight(QFont::Normal); //设置字体为不加粗
}
else
{
ui->textEdit_xiaolong->setFontWeight(QFont::Bold); //设置字体加粗
}
5、下划线显示
void QTextEdit::setFontUnderline(bool underline)
bool QTextEdit::fontUnderline() const
Underline=true 表示显示下划线,否则取消显示下划线。
6、文字前景颜色设置
void setTextColor(const QColor & c) 设置文字前景的颜色
QColor QTextEdit::textColor() const 返回当前文本的颜色格式
设置颜色格式需要使用 QColorDialo 类,QColorDialog 是专门用于获取颜色的对话框,可以通过定义对话框
实例的方式使用或者通过静态函数访问:
QColor getColor(const QColor & initial = Qt::white, QWidget * parent = 0, const QString & title = QString(), ColorDialogOptions options = 0)
getColor 函数会自动弹出颜色对话框,提供给用户取色,选择后返回一个 QColor 对象。如果用户选取了颜
色(用户点击确定按钮),那么返回对象是可用的,否则返回的颜色对象处于不可用状态(用户点击取消按钮)。
可以用颜色对象的函数 isValid()判断返回值的状态。
设置示例:
QColor clr = QColorDialog::getColor(Qt::black); //默认设置前景为黑色
if(clr.isValid()) //如果用户选了颜色
{
qDebug()<<"设置文字前景颜色";
ui->textEdit_xiaolong->setTextColor(clr);//设置文本编辑器的字体颜色
}
7、文字背景颜色设置
void QTextEdit::setTextBackgroundColor(const QColor & c) 设置文字背景颜色
QColor QTextEdit::textBackgroundColor() const 返回当前文本的背景颜色
设置示例:
QColor Backg = QColorDialog::getColor(Qt::white); //默认设置为白色背景
if(bgclr.isValid()) //如果用户选了颜色
{
//设置文本编辑器文字背景颜色
ui->textEdit_xiaolong->setTextBackgroundColor(Backg);
}
8、字体大小设置
void QTextEdit::setFontPointSize(qreal s) 设置字体大小
qreal QTextEdit::fontPointSize() const 获取当前字体大小
设置示例:
qDebug()<<"当前字体大小:"<<ui->textEdit_xiaolong->fontPointSize();
ui->textEdit_xiaolong->setFontPointSize(16); //设置字号为 16
ui->textEdit_xiaolong->setFontPointSize(32); //设置字号为 32
9、文本常规操作
QTextEdit 作为编辑器使用时,常规的复制、粘贴、剪切、撤销、重做等功能都默认支持,不用编写额外的
代码,QTextEdit 自己就有这些完备的功能,选中文本鼠标右击就能看到对应的编辑菜单。也可以调用相应的槽
函数,通过代码形式实现,对相对应的槽函数如下所示:
槽函数 描述
void clear() 删除选中的所有文本。
void copy() 把选中的文本拷贝到剪贴板。
void cut() 将选中的文本复制到剪贴板并从文本编辑删除。
void selectAll() 选中所有文本。
void redo() 重塑过去的操作。
void undo() 取消上一次操作,返回到上一次的状态。
void paste() 从剪贴板粘贴文本到文本编辑当前光标位置。
10、插入字符串或者图片
void QTextEdit::append(const QString &text)
插入图片示例:
ui->textEdit->append("<img src=:/image/editundo.png>"); //插入内嵌资源图片
ui->textEdit->append("<img src=E:/linux-share-dir/123.jpg>"); //插入本地磁盘图片
2.4.4.3QTextEdit文本编辑器相关信号
1、 copyAvailable 信号
void QTextEdit::copyAvailable(bool yes)
copyAvailable 信号在文本编辑文本被选中或取消选择时发送。当文本被选中时,发出的信号为 true。没有选
中文本或者取消选中文本,发出的信号为 false。如果信号为 true,那么可以调用 copy 函数来选择复制到剪贴板。
2、currentCharFormatChanged 信号
void QTextEdit::currentCharFormatChanged(const QTextCharFormat & f)
如果当前字符格式已经改变,则发送该信号。const QTextCharFormat & f 返回当前的新格式。
3、cursorPositionChanged 信号
void QTextEdit::cursorPositionChanged()
当鼠标选择的位置发生了改变,发送该信号。
4、redoAvailable 信号
void QTextEdit::redoAvailable(bool available)
进行重做操作时发射的信号。比如按下 Ctrl+z,返回上一次操作
5、selectionChanged 信号
void QTextEdit::selectionChanged()
当光标的选择发生变化时发送该信号。
6、textChanged 信号
void textChanged()
文本内容发生改变时发送该信号。该信号不带文本参数,可以通过其他函数来获取完整的文本内容。
获取文本的函数如下:
QString toHtml() const 获取完整的文本内容
QString toPlainText() const 获取无格式纯文本内容
示例:实现一个简单的文本编辑器
控件:comboBox,fontComboBox,pushButton,textEdit
布局:comboBox,fontComboBox----水平布局
pushButton--------水平布局
运行结果
pro文件
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
main.cpp \
widget.cpp
HEADERS += \
widget.h
FORMS += \
widget.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
image.qrc
widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_pushButton_background_color_clicked();
void on_pushButton_color_clicked();
void on_pushButton_textbold_clicked();
void on_pushButton_textitalic_clicked();
void on_pushButton_textunder_clicked();
void on_pushButton_textright_clicked();
void on_pushButton_textleft_clicked();
void on_pushButton_textjustify_clicked();
void on_pushButton_textcenter_clicked();
void on_comboBox_activated(int index);
void on_comboBox_activated(const QString &arg1);
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
main.cpp文件
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
widget.cpp文件
#include "widget.h"
#include "ui_widget.h"
#include<QTextEdit>//文本编辑器需要的头文件
#include<QColorDialog>//专门用于获取颜色的对话框
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//设置待选的字体
for(int i=5;i<50;i++)
{
ui->comboBox->addItem(tr("%1").arg(i));
}
//设置按钮图标
ui->pushButton_textunder->setIcon(QIcon(":/image/textunder.png"));//下划线
ui->pushButton_textright->setIcon(QIcon(":/image/textright.png"));//右对齐
ui->pushButton_textleft->setIcon(QIcon(":/image/textleft.png"));//左对齐
ui->pushButton_textcenter->setIcon(QIcon(":/image/textcenter.png"));//居中对齐‘
ui->pushButton_textjustify->setIcon(QIcon(":/image/textjustify.png"));//两端对齐
ui->pushButton_textitalic->setIcon(QIcon(":/image/textitalic.png"));//斜体
ui->pushButton_textbold->setIcon(QIcon(":/image/textbold.png"));//粗体
ui->pushButton_editundo->setIcon(QIcon(":/image/editundo.png")); //撤销
ui->pushButton_editredo->setIcon(QIcon(":/image/editredo.png")); //重做
ui->pushButton_editcut->setIcon(QIcon(":/image/editcut.png")); //剪切
ui->pushButton_editcopy->setIcon(QIcon(":/image/editcopy.png")); //复制
//关联按钮对应的槽函数,设置文档的格式
connect(ui->pushButton_editcopy,SIGNAL(clicked()),ui->textEdit,SLOT(copy())); //复制
connect(ui->pushButton_editcut,SIGNAL(clicked()),ui->textEdit,SLOT(cut())); //剪切
connect(ui->pushButton_editundo,SIGNAL(clicked()),ui->textEdit,SLOT(undo())); //撤销
connect(ui->pushButton_editredo,SIGNAL(clicked()),ui->textEdit,SLOT(redo())); //重做
connect(ui->fontComboBox, SIGNAL(currentIndexChanged(QString)),ui->textEdit,
SLOT(setFontFamily(QString))); //字体设置
}
Widget::~Widget()
{
delete ui;
}
//文字背景色
void Widget::on_pushButton_background_color_clicked()
{
QColor Backg=QColorDialog::getColor(Qt::white); //默认设置为白色背景
if(Backg.isValid())//如果用户选了颜色
{
//设置文本编辑器文字背景颜色
ui->textEdit->setTextBackgroundColor(Backg);
//同步设置该按钮的前景色
QString buttoncolor=tr("color:%1").arg(Backg.name());
ui->pushButton_background_color->setStyleSheet(buttoncolor);
}
}
//前景色
void Widget::on_pushButton_color_clicked()
{
QColor clr = QColorDialog::getColor(Qt::black); //默认设置前景为黑色
if(clr.isValid()) //如果用户选了颜色
{
ui->textEdit->setTextColor(clr);//设置文本编辑器的字体颜色
//同步设置该按钮的前景色
QString buttons_color = tr("color: %1").arg(clr.name());
ui->pushButton_color->setStyleSheet(buttons_color);
}
}
//加粗
void Widget::on_pushButton_textbold_clicked()
{
/*检测编辑器文本字体是否是粗体*/
if(ui->textEdit->fontWeight()==QFont::Bold)
{
ui->textEdit->setFontWeight(QFont::Normal); //设置字体为不加粗
}
else
{
ui->textEdit->setFontWeight(QFont::Bold); //设置字体加粗
}
}
//斜体
void Widget::on_pushButton_textitalic_clicked()
{
if(ui->textEdit->fontItalic())
{
ui->textEdit->setFontItalic(false);
}
else
{
ui->textEdit->setFontItalic(true); //设置斜体
}
}
//下划线
void Widget::on_pushButton_textunder_clicked()
{
if(ui->textEdit->fontUnderline())
{
ui->textEdit->setFontUnderline(false);
}
else
{
ui->textEdit->setFontUnderline(true); //设置字体加下划线
}
}
//右对齐
void Widget::on_pushButton_textright_clicked()
{
ui->textEdit->setAlignment(Qt::AlignRight);
}
//左对齐
void Widget::on_pushButton_textleft_clicked()
{
ui->textEdit->setAlignment(Qt::AlignLeft);
}
//两端对齐
void Widget::on_pushButton_textjustify_clicked()
{
ui->textEdit->setAlignment(Qt::AlignJustify);
}
//居中对齐
void Widget::on_pushButton_textcenter_clicked()
{
ui->textEdit->setAlignment(Qt::AlignHCenter);
}
void Widget::on_comboBox_activated(int index)
{
}
//设置字号
void Widget::on_comboBox_activated(const QString &arg1)
{
ui->textEdit->setFontPointSize(arg1.toInt()); //设置字号为 16
}
ui文件
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Widget</class>
<widget class="QWidget" name="Widget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>961</width>
<height>499</height>
</rect>
</property>
<property name="minimumSize">
<size>
<width>101</width>
<height>21</height>
</size>
</property>
<property name="windowTitle">
<string>Widget</string>
</property>
<widget class="QTextEdit" name="textEdit">
<property name="geometry">
<rect>
<x>20</x>
<y>200</y>
<width>931</width>
<height>391</height>
</rect>
</property>
</widget>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>20</x>
<y>30</y>
<width>931</width>
<height>24</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QFontComboBox" name="fontComboBox">
<property name="minimumSize">
<size>
<width>511</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBox">
<property name="minimumSize">
<size>
<width>101</width>
<height>21</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>21</x>
<y>70</y>
<width>931</width>
<height>61</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="pushButton_editcopy">
<property name="minimumSize">
<size>
<width>22</width>
<height>32</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>80</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_editcut">
<property name="minimumSize">
<size>
<width>22</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_editredo">
<property name="minimumSize">
<size>
<width>22</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_editundo">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_textcenter">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_textjustify">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_textleft">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_textright">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_textbold">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_textitalic">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_textunder">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="">
<property name="geometry">
<rect>
<x>160</x>
<y>150</y>
<width>631</width>
<height>34</height>
</rect>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QPushButton" name="pushButton_background_color">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string>文字背景色</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_color">
<property name="minimumSize">
<size>
<width>32</width>
<height>32</height>
</size>
</property>
<property name="text">
<string>文字前景色</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<resources/>
<connections/>
</ui>
总结
文本编辑器在生活中的运用是很多的,建议各位小伙伴们多加练习。