Qt中的文本编辑组件

  总结Qt中3种常用的的文本编辑组件:QLineEdit、QPlainTextEdit和QTextEdit,它们的类关系为:

这里写图片描述

  (1) QLineEdit是单行文本编辑组件
  (2) QPlainTextEdit是多行普通文本编辑组件
  (3) QTextEdit是多行富文本编辑组件

  测试代码:

//main.cpp
#include <QtGui/QApplication>
#include "Widget.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

//Widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>
#include <QVBoxLayout>
#include <QPlainTextEdit>
#include <QTextEdit>
#include <QLineEdit>
#include <QDebug>

class Widget : public QWidget
{
    Q_OBJECT

private:
    //单行普通文本
    QLineEdit       line_edit;
    //多行普通文本
    QPlainTextEdit  plain_text_edit;
    //多行富文本
    QTextEdit       text_edit;

    void initEdit();

public:
    Widget(QWidget *parent = 0);
    ~Widget();
};

//Widget.cpp
#include "Widget.h"

Widget::Widget(QWidget *parent) : QWidget(parent), line_edit(this), plain_text_edit(this), text_edit(this)
{
    initEdit();
}

Widget::~Widget()
{}

void Widget::initEdit()
{
    //定义垂直布局管理器
    QVBoxLayout *vl = new QVBoxLayout(this);

    //为line_edit增加普通文本
    line_edit.insert("QLineEdit:\n");
    line_edit.insert("<html><body><img src=\"./070914.jpg\" /></body></html>");

    //为plain_text_edit增加普通文本
    plain_text_edit.insertPlainText("QPlainTextEdit:\n");
    plain_text_edit.insertPlainText("<html><body><img src=\"./070914.jpg\" /></body></html>");

    //为text_edit增加普通文本
    text_edit.insertPlainText("QTextEdit:\n");
    //为text_edit增加html文本
    text_edit.insertHtml("<html><body><img src=\"./070914.jpg\" /></body></html>");

    //将3个文本编辑组件加入布局管理器
    vl->addWidget(&line_edit);
    vl->addWidget(&plain_text_edit);
    vl->addWidget(&text_edit);

    //将当前widget窗口设置为垂直布局
    setLayout(vl);
}

  运行:
这里写图片描述

  为QLineEdit、QPlainTextEdit插入文本的方法分别是insert(),insertPlainText(),为QTextEdit插入文本的方法有insertPlainText()、insertHtml(),前者是插入普通文本,后者是插入HTML文本。因为只有QTextEdit支持富文本,所以它才解析出插图数据。

  另外,获取QLineEdit和QPlainTextEdit的编辑框上的函数分别各自类的成员函数text()、toPlainText(),获取QTextEdit编辑框上的普通文本、html文本的分别为该类的成员函数toPlainText()、toHtml()。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值