[英]How to make a QTextDocument as a widget?
I need to build a widget, which bases on QTextDocument
.我需要构建一个基于
QTextDocument
的小部件。
MyWidget.h我的小部件.h
class MyWidget: public QFrame
{
public:
explicit MyWidget( QWidget *p_parent );
private:
QTextDocument m_textDocument;
};
MyWidget.cpp我的Widget.cpp
MyWidget::MyWidget( QWidget *p_parent ) : QFrame( p_parent )
{
QVBoxLayout *layout = new QVBoxLayout( this );
layout->setMargin( 0 );
layout->setSpacing( 0 );
m_textDocument = new QTextDocument( this );
layout->addWidget( m_textDocument ); // does not work
layout->addLayout(m_textDocument->documentLayout()); // I have tried this, but incompatible
}
I can not addWidget
because QTextDocument
is an object.我不能
addWidget
因为QTextDocument
是一个对象。 How can I do to build my widget?我该如何构建我的小部件?
You don't use a QTextDocument as a widget, because a Document is the idea
in memory of what a document is, it does not have a Graphicsl Representation.您不使用 QTextDocument 作为小部件,因为 Document 是内存中文档内容的
idea
,它没有 Graphicsl 表示。
If you are looking for a Visual representation of a Document, you can use QTextEdit as follows:如果您正在寻找文档的可视化表示,您可以使用 QTextEdit,如下所示:
auto *textEdit = new QTextEdit(parent);
textEdit->setDocument(myTextDocument);
layout->addWidget(textEdit);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.