设置文本排序及对齐
在编写包含格式设置的文本编辑程序时,经常用到的Qt类有:QTextEdit、QTextDocument、QTextCharFormat、QTextCursor、QTextBlock、QTextList、QTextFrame、QTextTable、QTextBlockFormat、QTextListFormat、QTextFrameFormat、QTextTableFormat等。
首先,任何一个文本编辑的程序都要用到QTextEdit作为输入文本的容器,在它里面输入的可编辑文本由QTextDocument作为载体,而QTextDocument的不同表现形式,可能为字符串、段落、列表、表格或是图片等。每种元素都有自己的格式,这些格式则用QTextCharFormat、QTextBlockFormat、QTextListFormat、QTextFrameFormat等类来描述与实现。
1、创建listalign.h
#ifndef LISTALIGN_H
#define LISTALIGN_H
#include <QtGui>
class ListAligh : public QMainWindow
{
Q_OBJECT
public:
ListAligh(QWidget *parent = 0);
public slots:
void slotAlignment(QAction *);
void slotList(int);
void slotCursorPositionChanged();
private:
QTextEdit *text;
QLabel *label;
QComboBox *listBox;
QAction *leftAction;
QAction *rightAction;
QAction *centerAction;
QAction *justifyAction;
QAction *redoAction;
QAction *undoAction;
};
#endif // LISTALIGN_H
2、创建listalign.cpp文件
#include "listalign.h"
ListAligh::ListAligh(QWidget *parent) : QMainWindow(parent)
{
setWindowTitle(tr("List&Alignment"));
QToolBar *toolBar = addToolBar("list");
label = new QLabel(tr("List: "));
listBox =