QT开源例程阅读:Dock Widgets Example

2013年12月24日 由 Creater 留言 »

描述

描述如何使用QDockWindow与RichTextEdit。

应用

代码阅读

QMainWindowset的CentralWidget函数,用于设置将给定的控件置于QMainWindow的中心。
富文本操作
1.清空文本区域

textEdit->clear();

2.创建该文本区的Cursor,并移动鼠标指针到文本区的开始。

    QTextCursor cursor(textEdit->textCursor());
    cursor.movePosition(QTextCursor::Start);

3.创建和格式化一个frame

QTextFrame *topFrame = cursor.currentFrame();
    QTextFrameFormat topFrameFormat = topFrame->frameFormat();
    topFrameFormat.setPadding(16);
    topFrame->setFrameFormat(topFrameFormat);

4.文本格式化对象

    QTextCharFormat textFormat;
    QTextCharFormat boldFormat;
    boldFormat.setFontWeight(QFont::Bold);
    QTextCharFormat italicFormat;
    italicFormat.setFontItalic(true);

    QTextTableFormat tableFormat;
    tableFormat.setBorder(1);
    tableFormat.setCellPadding(16);
    tableFormat.setAlignment(Qt::AlignRight);

5.如何使用文本格式化对象,如下分别插入表格,文字和空行,格式为4中定义的3种。

 cursor.insertTable(1, 1, tableFormat);
    cursor.insertText("The Firm", boldFormat);
    cursor.insertBlock();

6.更改光标位置

cursor.setPosition(topFrame->lastPosition());

7.QMainWindow的菜单栏可以通过menuBar()返回,通过menuBar()->addMenu(tr(“&File”));来增加菜单。
像QMainWindow里添加QDockWidget

addDockWidget(Qt::RightDockWidgetArea, dock);

7.QDockWidget使用,设置停靠区域,如下为只允许左右停靠区停靠,默认为可以上下左右停靠。

dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);

8.如何设置QDockWidget里的控件,将其作为父亲指针传入并setWidget即可。

customerList = new QListWidget(dock);//创建ListWidget
 dock->setWidget(customerList);//给dock设置控件
addDockWidget(Qt::RightDockWidgetArea, dock);像MainWindow增加DockWidget

9.给ListWidget关联信号与槽函数

    connect(customerList, SIGNAL(currentTextChanged(QString)),
            this, SLOT(insertCustomer(QString)));
    connect(paragraphsList, SIGNAL(currentTextChanged(QString)),
            this, SLOT(addParagraph(QString)));
广告位

发表评论

你必须 登陆 方可发表评论.