第三十课、Qt中的文本编辑组件------------------狄泰软件学院

一、文本编辑组件

1、Qt支持三种常用的文本编辑组件

(1)、QLineEdit:单行文本编辑组件

(2)、QTextEdit:多行富文本(有图片、视频等)编辑组件

(3)、QPlainTextEdit:多行普通文本编辑组件

2、Qt中常用文本编辑组件的继承层次图

3、不同文本组件的特性比较

4、Qt中常用文本编辑组件内置功能

1、初探文本编辑组件

 MainWindow.cpp

#include "MainWindow.h"

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent),
  lineEdit(this), plainEdit(this), textEdit(this)
{
    resize(600, 420);

    lineEdit.move(20, 20);
    lineEdit.resize(560, 100);
    lineEdit.insert("QLineEdit");
    lineEdit.insert("\n");
    lineEdit.insert("<img src=\"C:\\Users\\hp\\Desktop\\D.T.png\" />");

    plainEdit.move(20, 130);
    plainEdit.resize(560, 130);
    plainEdit.insertPlainText("QPlainTextEdit");
    plainEdit.insertPlainText("\n");
    plainEdit.insertPlainText("<img src=\"C:\\Users\\hp\\Desktop\\D.T.png\" />");

    textEdit.move(20, 270);
    textEdit.resize(560, 130);
    textEdit.insertPlainText("QTextEdit");
    textEdit.insertPlainText("\n");
    textEdit.insertHtml("<img src=\"C:\\Users\\hp\\Desktop\\D.T.png\" />");
}

MainWindow::~MainWindow()
{
    
}
MainWindow.cpp

2、NopePad:

 MainWindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QString>
#include <QtGui/QMainWindow>
#include <QToolBar>
#include <QIcon>
#include <QSize>
#include <QStatusBar>
#include <QLabel>
#include <QPlainTextEdit>
class MainWindow : public QMainWindow
{
    Q_OBJECT
private:
        QPlainTextEdit mainEdit;
        QLabel statusLabel;
        MainWindow(QWidget *parent = 0);
        MainWindow(const MainWindow& obj);
        MainWindow* operator = (const MainWindow& obj);
        bool construct();

        bool initMenuBar();//菜单栏
        bool initToolBar();//工具栏
        bool initStatusBar();//状态栏
        bool initinitMainEditor();//编辑窗口

        bool initFileMenu(QMenuBar* mb);//文件菜单
        bool initEditMenu(QMenuBar* mb);//编辑菜单
        bool initFormatMenu(QMenuBar* mb);//格式菜单
        bool initViewMenu(QMenuBar* mb);//视图菜单
        bool initHelpMenu(QMenuBar* mb);//帮助菜单
        bool initFileToolItem(QToolBar* tb);

        bool makeAction(QAction*& action, QString text, int ket);//菜单项
        bool makeAction(QAction*& action, QString tip, QString icon);
public:
     static MainWindow* NewInstance();
    ~MainWindow();
};

#endif // MAINWINDOW_H

MainWindow.h

 MainWindow.cpp

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMenuBar>
#include <QMenu>
#include <QAction>
#include <QString>
#include <QtGui/QMainWindow>
#include <QToolBar>
#include <QIcon>
#include <QSize>
#include <QStatusBar>
#include <QLabel>
#include <QPlainTextEdit>
class MainWindow : public QMainWindow
{
    Q_OBJECT
private:
        QPlainTextEdit mainEdit;
        QLabel statusLabel;
        MainWindow(QWidget *parent = 0);
        MainWindow(const MainWindow& obj);
        MainWindow* operator = (const MainWindow& obj);
        bool construct();

        bool initMenuBar();//菜单栏
        bool initToolBar();//工具栏
        bool initStatusBar();//状态栏
        bool initinitMainEditor();//编辑窗口

        bool initFileMenu(QMenuBar* mb);//文件菜单
        bool initEditMenu(QMenuBar* mb);//编辑菜单
        bool initFormatMenu(QMenuBar* mb);//格式菜单
        bool initViewMenu(QMenuBar* mb);//视图菜单
        bool initHelpMenu(QMenuBar* mb);//帮助菜单
        bool initFileToolItem(QToolBar* tb);

        bool makeAction(QAction*& action, QString text, int ket);//菜单项
        bool makeAction(QAction*& action, QString tip, QString icon);
public:
     static MainWindow* NewInstance();
    ~MainWindow();
};

#endif // MAINWINDOW_H
MainWindow.h

 main.cpp

#include <QtGui/QApplication>
#include "MainWindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow* w = MainWindow::NewInstance();
    int ret = -1;
    if(w != NULL)
    {
        w->show();
        ret = a.exec();
    }

    delete w;
    return ret;
}

main.cpp

二、小结

(1)、Qt支持三种常用的文本编辑组件

(2)、Qt中的文本编辑组件封装了常用的编辑功能

A、QLineEdit:单行文本编辑组件

B、QTextEdit:多行富文本编辑组件

C、QPlainTextEdit:多行普通文本编辑组件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值