本文整理汇总了C++中QTextEdit::setDocument方法的典型用法代码示例。如果您正苦于以下问题:C++ QTextEdit::setDocument方法的具体用法?C++ QTextEdit::setDocument怎么用?C++ QTextEdit::setDocument使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTextEdit
的用法示例。
在下文中一共展示了QTextEdit::setDocument方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setDocument
int TextEdit::setDocument(lua_State * L) // ( QTextDocument * document )
{
QTextEdit* obj = ObjectHelper<QTextEdit>::check( L, 1);
QTextDocument* document = ObjectHelper<QTextDocument>::check( L, 2 );
obj->setDocument( document );
return 0;
}/*
示例2: main
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextEdit *editor = new QTextEdit;
//! [0]
QTextDocument *document = new QTextDocument(editor);
QTextCursor cursor(document);
//! [0]
//! [1]
QTextImageFormat imageFormat;
imageFormat.setName(":/images/advert.png");
cursor.insertImage(imageFormat);
//! [1]
cursor.insertBlock();
cursor.insertText("Code less. Create more.");
editor->setDocument(document);
editor->setWindowTitle(tr("Text Document Images"));
editor->resize(320, 480);
editor->show();
return app.exec();
}
示例3: main
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QTextEdit *editor = new QTextEdit;
QTextDocument *document = new QTextDocument(editor);
QTextCursor cursor(document);
QTextImageFormat imageFormat;
imageFormat.setName(":/images/advert.png");
cursor.insertImage(imageFormat);
QTextBlock block = cursor.block();
QTextFragment fragment;
QTextBlock::iterator it;
for (it = block.begin(); !(it.atEnd()); ++it) {
fragment = it.fragment();
if (fragment.contains(cursor.position()))
break;
}
//! [0]
if (fragment.isValid()) {
QTextImageFormat newImageFormat = fragment.charFormat().toImageFormat();
if (newImageFormat.isValid()) {
newImageFormat.setName(":/images/newimage.png");
QTextCursor helper = cursor;
helper.setPosition(fragment.position());
helper.setPosition(fragment.position() + fragment.length(),
QTextCursor::KeepAnchor);
helper.setCharFormat(newImageFormat);
//! [0] //! [1]
}
//! [1] //! [2]
}
//! [2]
cursor.insertBlock();
cursor.insertText("Code less. Create more.");
editor->setDocument(document);
editor->setWindowTitle(tr("Text Document Image Format"));
editor->resize(320, 480);
editor->show();
return app.exec();
}
示例4: createThumbnail
void TextZone::createThumbnail()
{
QWidget *w = QApplication::focusWidget();
if(w){
// pixmap.fill( Qt::white );
// QPainter painter( &pixmap );
// painter.setPen( Qt::black );
//// rect.translate( 0, rect.height()+10 );
//// rect.setHeight( 160 );
// doc.setTextWidth( rect.width() );
// painter.save();
// painter.translate( rect.topLeft() );
// doc.drawContents( &painter, rect.translated( -rect.topLeft() ) );
// painter.restore();
// rect.setHeight( textDocument.size().height()-160 );
// painter.setBrush( Qt::gray );
// painter.drawRect( rect );
// pixmap.save( "text.png" );
QTextEdit tempEdit;
tempEdit.setDocument(textDocument);
tempEdit.setFixedHeight(textDocument->size().height());
tempEdit.setFixedWidth(textDocument->textWidth());
#if QT_VERSION < 0x050000
QPixmap thumbnail = QPixmap::grabWidget(&tempEdit);
#endif
#if QT_VERSION >= 0x050000
QPixmap thumbnail = tempEdit.grab();
#endif
emit textThumbnailSignal(thumbnail);
}
}
示例5:
QMap<int, QList<QRectF>> TextDocumentAdapter::GetTextPositions (const QString& text, Qt::CaseSensitivity cs)
{
const auto& pageSize = Doc_->pageSize ();
const auto pageHeight = pageSize.height ();
QTextEdit hackyEdit;
hackyEdit.setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
hackyEdit.setVerticalScrollBarPolicy (Qt::ScrollBarAlwaysOff);
hackyEdit.setFixedSize (Doc_->pageSize ().toSize ());
hackyEdit.setDocument (Doc_.get ());
Doc_->setPageSize (pageSize);
const auto tdFlags = cs == Qt::CaseSensitive ?
QTextDocument::FindCaseSensitively :
QTextDocument::FindFlags ();
QMap<int, QList<QRectF>> result;
auto cursor = Doc_->find (text, 0, tdFlags);
while (!cursor.isNull ())
{
auto endRect = hackyEdit.cursorRect (cursor);
auto startCursor = cursor;
startCursor.setPosition (cursor.selectionStart ());
auto rect = hackyEdit.cursorRect (startCursor);
const int pageNum = rect.y () / pageHeight;
rect.moveTop (rect.y () - pageHeight * pageNum);
endRect.moveTop (endRect.y () - pageHeight * pageNum);
if (rect.y () != endRect.y ())
{
rect.setWidth (pageSize.width () - rect.x ());
endRect.setX (0);
}
auto bounding = rect | endRect;
result [pageNum] << bounding;
cursor = Doc_->find (text, cursor, tdFlags);
}
return result;
}
示例6: QTextDocument
QTextDocument * Exporter::buildFinalDoc()
{
//search for checked items :
QDomDocument domDoc = hub->project()->mainTreeDomDoc();
QDomElement root = domDoc.documentElement();
QList<QDomElement> itemList = searchForCheckedItems(root);
if(itemList.size() == 0)
return new QTextDocument();
// set up the progress bar :
QWidget *progressWidget = new QWidget(this, Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
QHBoxLayout *progressLayout = new QHBoxLayout(progressWidget);
QProgressBar *progressBar = new QProgressBar(progressWidget);
int progressValue = 0;
progressLayout->addWidget(progressBar);
progressWidget->setLayout(progressLayout);
progressBar->setMaximum(itemList.size());
progressBar->setValue(progressValue);
progressWidget->show();
// QString debug;
// qDebug() << "itemList" << debug.setNum(itemList->size());
QTextDocument *textDocument = new QTextDocument(this);
QTextEdit *edit = new QTextEdit(this);
textDocument->setDefaultStyleSheet("p, li { white-space: pre-wrap; } p{line-height: 2em; font-family:'Liberation Serif'; font-size:12pt;margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:72px;}");
for(int i = 0; i < itemList.size(); ++i){
QDomElement element = itemList.at(i);
QTextCursor *tCursor = new QTextCursor(textDocument);
QTextBlockFormat blockFormatLeft;
blockFormatLeft.setBottomMargin(0);
blockFormatLeft.setTopMargin(0);
blockFormatLeft.setTextIndent(72);
blockFormatLeft.setLineHeight(200, QTextBlockFormat::ProportionalHeight);
blockFormatLeft.setAlignment(Qt::AlignJustify);
QTextCharFormat charFormatLeft;
charFormatLeft.setFontPointSize(12);
charFormatLeft.setFontFamily("Courrier");
QTextBlockFormat blockFormatCenter;
blockFormatCenter.setAlignment(Qt::AlignCenter);
if(element.tagName() != "separator"){
qDebug() << "element name : "+ element.attribute("name");
MainTextDocument *textDoc = hub->project()->findChild<MainTextDocument *>("textDoc_" + element.attribute("number"));
MainTextDocument *synDoc = hub->project()->findChild<MainTextDocument *>("synDoc_" + element.attribute("number"));
MainTextDocument *noteDoc = hub->project()->findChild<MainTextDocument *>("noteDoc_" + element.attribute("number"));
QTextDocumentFragment textFrag(prepareTextDoc(textDoc));
QTextDocumentFragment synFrag(prepareSynDoc(synDoc));
QTextDocumentFragment noteFrag(prepareNoteDoc(noteDoc));
edit->setDocument(textDocument);
if(element.tagName() == "book"){
textDocument->setMetaInformation(QTextDocument::DocumentTitle,element.attribute("name", ""));
edit->append("<h1>" + element.attribute("name", "") + "</h1>");
tCursor->movePosition(QTextCursor::End, QTextCursor::MoveAnchor,1);
tCursor->mergeBlockFormat(blockFormatCenter);
edit->append("<h4>" + QDateTime::currentDateTime().toString() + "</h4>");
tCursor->movePosition(QTextCursor::End, QTextCursor::MoveAnchor,1);
tCursor->mergeBlockFormat(blockFormatCenter);
edit->append("<br>");
edit->append("<br>");
}
if(element.tagName() == "act"){
edit->append("<br>");
edit->append("<br>");
edit->append("<h2>" + element.attribute("name", "") + "</h2>");
tCursor->movePosition(QTextCursor::End, QTextCursor::MoveAnchor,1);
tCursor->mergeBlockFormat(blockFormatCenter);
edit->append("<br>");
}
if(element.tagName() == "chapter"){
edit->append("<br>");
edit->append("<br>");
edit->append("<h2>" + element.attribute("name", "") + "</h2>");
tCursor->movePosition(QTextCursor::End, QTextCursor::MoveAnchor,1);
tCursor->mergeBlockFormat(blockFormatCenter);
edit->append("<br>");
//.........这里部分代码省略.........
示例7: parseThemes
void PackThemeDataWidget::parseThemes(KviPointerList<KviThemeInfo> * pThemeInfoList)
{
QString szPackageName;
QString szPackageAuthor;
QString szPackageDescription;
QString szPackageVersion;
KviThemeInfo * pThemeInfo = 0;
bool bPackagePathSet = false;
QString szPackagePath = QDir::homePath();
KviQString::ensureLastCharIs(szPackagePath,QChar(KVI_PATH_SEPARATOR_CHAR));
if(pThemeInfoList->count() > 1)
{
szPackageName = "MyThemes";
szPackageAuthor = __tr2qs_ctx("Your name here","theme");
szPackageVersion = "1.0.0";
szPackageDescription = __tr2qs_ctx("Put a package description here...","theme");
} else {
if(pThemeInfoList->count() > 0)
{
pThemeInfo = pThemeInfoList->first();
szPackageName = pThemeInfo->subdirectory();
szPackageAuthor = pThemeInfo->author();
szPackageDescription = pThemeInfo->description();
szPackageVersion = pThemeInfo->version();
szPackagePath += pThemeInfo->subdirectory();
if(szPackagePath.indexOf(QRegExp("[0-9]\\.[0-9]")) == -1)
{
szPackagePath += "-";
szPackagePath += szPackageVersion;
}
szPackagePath += KVI_FILEEXTENSION_THEMEPACKAGE;
bPackagePathSet = true;
}
}
if(!bPackagePathSet)
{
szPackagePath += szPackageName;
szPackagePath += "-";
szPackagePath += szPackageVersion;
szPackagePath += KVI_FILEEXTENSION_THEMEPACKAGE;
}
QVBoxLayout * pLayout = new QVBoxLayout(this);
QString szThemesDescription = "<html><body bgcolor=\"#ffffff\">";
int iIdx = 0;
QPixmap pixScreenshot;
QString szScreenshotPath;
for(pThemeInfo = pThemeInfoList->first(); pThemeInfo; pThemeInfo = pThemeInfoList->next())
{
QString szThemeDescription;
if(pixScreenshot.isNull())
{
pixScreenshot = pThemeInfo->smallScreenshot();
if(!pixScreenshot.isNull())
szScreenshotPath = pThemeInfo->smallScreenshotPath();
}
ThemeFunctions::getThemeHtmlDescription(
szThemeDescription,
pThemeInfo->name(),
pThemeInfo->version(),
pThemeInfo->description(),
pThemeInfo->subdirectory(),
pThemeInfo->application(),
pThemeInfo->author(),
pThemeInfo->date(),
pThemeInfo->themeEngineVersion(),
pThemeInfo->smallScreenshot(),
iIdx
);
if(iIdx > 0)
szThemesDescription += "<hr>";
szThemesDescription += szThemeDescription;
iIdx++;
}
szThemesDescription += "</body></html>";
QTextEdit * pTextEdit = new QTextEdit(this);
pTextEdit->setBackgroundRole(QPalette::Window);
pTextEdit->setReadOnly(true);
QTextDocument * pDoc = new QTextDocument(pTextEdit);
pDoc->setHtml(szThemesDescription);
pTextEdit->setDocument(pDoc);
pLayout->addWidget(pTextEdit);
setField("packageName",QVariant(szPackageName));
setField("packageVersion",szPackageVersion);
setField("packageDescription",szPackageDescription);
//.........这里部分代码省略.........
示例8: setDocument
void QTextEditProto::setDocument(QTextDocument *document)
{
QTextEdit *item = qscriptvalue_cast<QTextEdit*>(thisObject());
if (item)
item->setDocument(document);
}