本文整理汇总了C++中QTextTable::objectIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ QTextTable::objectIndex方法的具体用法?C++ QTextTable::objectIndex怎么用?C++ QTextTable::objectIndex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QTextTable
的用法示例。
在下文中一共展示了QTextTable::objectIndex方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
QTextTable *QTextTablePrivate::createTable(QTextDocumentPrivate *pieceTable, int pos, int rows, int cols, const QTextTableFormat &tableFormat)
{
QTextTableFormat fmt = tableFormat;
fmt.setColumns(cols);
QTextTable *table = qobject_cast<QTextTable *>(pieceTable->createObject(fmt));
Q_ASSERT(table);
pieceTable->beginEditBlock();
// qDebug("---> createTable: rows=%d, cols=%d at %d", rows, cols, pos);
// add block after table
QTextCharFormat charFmt;
charFmt.setObjectIndex(table->objectIndex());
charFmt.setObjectType(QTextFormat::TableCellObject);
int charIdx = pieceTable->formatCollection()->indexForFormat(charFmt);
int cellIdx = pieceTable->formatCollection()->indexForFormat(QTextBlockFormat());
QTextTablePrivate *d = table->d_func();
d->blockFragmentUpdates = true;
d->fragment_start = pieceTable->insertBlock(QTextBeginningOfFrame, pos, cellIdx, charIdx);
d->cells.append(d->fragment_start);
++pos;
for (int i = 1; i < rows*cols; ++i) {
d->cells.append(pieceTable->insertBlock(QTextBeginningOfFrame, pos, cellIdx, charIdx));
// qDebug(" addCell at %d", pos);
++pos;
}
d->fragment_end = pieceTable->insertBlock(QTextEndOfFrame, pos, cellIdx, charIdx);
// qDebug(" addEOR at %d", pos);
++pos;
d->blockFragmentUpdates = false;
d->dirty = true;
pieceTable->endEditBlock();
return table;
}