本文整理汇总了C++中createIndex函数的典型用法代码示例。如果您正苦于以下问题:C++ createIndex函数的具体用法?C++ createIndex怎么用?C++ createIndex使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了createIndex函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createIndex
QModelIndex DiscoItemsModel::modelIndex(DiscoItemIndex *AIndex, int AColumn) const
{
return AIndex!=NULL && AIndex!=FRootIndex ? createIndex(AIndex->parent->childs.indexOf(AIndex),AColumn,AIndex) : QModelIndex();
}
示例2: dataChanged
void DivePlannerPointsModel::emitDataChanged()
{
emit dataChanged(createIndex(0, 0), createIndex(rowCount() - 1, COLUMNS - 1));
}
示例3: switch
//! [2]
QXmlNodeModelIndex QObjectXmlModel::nextFromSimpleAxis(SimpleAxis axis, const QXmlNodeModelIndex &n) const
{
switch (toNodeType(n))
{
case IsQObject:
{
switch (axis)
{
case Parent:
return createIndex(asQObject(n)->parent());
case FirstChild:
{
if (!asQObject(n) || asQObject(n)->children().isEmpty())
return QXmlNodeModelIndex();
else
return createIndex(asQObject(n)->children().first());
}
case NextSibling:
return qObjectSibling(1, n);
//! [10]
case PreviousSibling:
{
if (asQObject(n) == m_root)
return createIndex(qint64(0), MetaObjects);
else
return qObjectSibling(-1, n);
}
//! [10]
}
Q_ASSERT(false);
}
//! [7]
case QObjectClassName:
case QObjectProperty:
{
Q_ASSERT(axis == Parent);
return createIndex(asQObject(n));
}
//! [7]
//! [2]
//! [3]
//! [11]
case MetaObjects:
{
switch (axis)
{
case Parent:
return QXmlNodeModelIndex();
case PreviousSibling:
return QXmlNodeModelIndex();
case NextSibling:
return root();
case FirstChild:
{
return createIndex(const_cast<QMetaObject*>(m_allMetaObjects.first()),MetaObject);
}
}
Q_ASSERT(false);
}
//! [11]
case MetaObject:
{
switch (axis)
{
case FirstChild:
return QXmlNodeModelIndex();
case Parent:
return createIndex(qint64(0), MetaObjects);
case PreviousSibling:
return metaObjectSibling(-1, n);
case NextSibling:
return metaObjectSibling(1, n);
}
}
case MetaObjectClassName:
case MetaObjectSuperClass:
{
Q_ASSERT(axis == Parent);
return createIndex(asQObject(n), MetaObject);
}
//! [3]
//! [4]
}
Q_ASSERT(false);
return QXmlNodeModelIndex();
}
示例4: hasIndex
QModelIndex CompleterTestModel::index(int row, int column, const QModelIndex &parent) const
{
return hasIndex(row, column, parent) ? createIndex(row, column, 0) : QModelIndex();
}
示例5: createIndex
QModelIndex PluginManager::index (int row, int column, const QModelIndex&) const
{
return createIndex (row, column);
}
示例6: data
bool ParamModelBase::IsFreeze(size_t idx) const
{
return data(createIndex((int)idx,FREEZE),Qt::CheckStateRole).toBool();
}
示例7: select
/*!
\since 5.0
Refreshes \a row in the model with values from the database table row matching
on primary key values. Without a primary key, all column values must match. If
no matching row is found, the model will show an empty row.
Returns \c true if successful; otherwise returns \c false.
\sa select()
*/
bool QSqlTableModel::selectRow(int row)
{
Q_D(QSqlTableModel);
if (row < 0 || row >= rowCount())
return false;
const int table_sort_col = d->sortColumn;
d->sortColumn = -1;
const QString table_filter = d->filter;
d->filter = d->db.driver()->sqlStatement(QSqlDriver::WhereStatement,
d->tableName,
primaryValues(row),
false);
static const QString wh = Sql::where() + Sql::sp();
if (d->filter.startsWith(wh, Qt::CaseInsensitive))
d->filter.remove(0, wh.length());
QString stmt;
if (!d->filter.isEmpty())
stmt = selectStatement();
d->sortColumn = table_sort_col;
d->filter = table_filter;
if (stmt.isEmpty())
return false;
bool exists;
QSqlRecord newValues;
{
QSqlQuery q(d->db);
q.setForwardOnly(true);
if (!q.exec(stmt))
return false;
exists = q.next();
newValues = q.record();
}
bool needsAddingToCache = !exists || d->cache.contains(row);
if (!needsAddingToCache) {
const QSqlRecord curValues = record(row);
needsAddingToCache = curValues.count() != newValues.count();
if (!needsAddingToCache) {
// Look for changed values. Primary key fields are customarily first
// and probably change less often than other fields, so start at the end.
for (int f = curValues.count() - 1; f >= 0; --f) {
if (curValues.value(f) != newValues.value(f)) {
needsAddingToCache = true;
break;
}
}
}
}
if (needsAddingToCache) {
d->cache[row].refresh(exists, newValues);
emit headerDataChanged(Qt::Vertical, row, row);
emit dataChanged(createIndex(row, 0), createIndex(row, columnCount() - 1));
}
return true;
}
示例8: CHECK
QModelIndex PrimerLibraryModel::index(int row, int column, const QModelIndex & /*parent*/) const {
CHECK(row < primers.size(), QModelIndex());
return createIndex(row, column);
}
示例9: createIndex
QVariant DeviceExplorerModel::getData(Device::NodePath node, Column column, int role)
{
QModelIndex index = createIndex(convertPathToIndex(node).row(), (int)column, node.toNode(&rootNode())->parent());
return data(index, role);
}
示例10: createIndex
QModelIndex DhQDirModel::DvhcreateIndex(int x1, int x2) const {
return createIndex(x1, x2);
}
示例11: createIndex
void NewsFeedModel::replaceNews(int i, const Vreen::NewsItem &news)
{
auto index = createIndex(i, 0);
m_newsList[i] = news;
emit dataChanged(index, index);
}
示例12: fromUtf8
QModelIndex MtpObjectsModel::findObject(const QString &filename) const
{
auto idx = std::find_if(_rows.begin(), _rows.end(), [filename, this](Row & row) { return fromUtf8(row.GetInfo(_session)->Filename) == filename; } );
return idx != _rows.end()? createIndex(std::distance(_rows.begin(), idx), 0): QModelIndex();
}
示例13: createIndex
QModelIndex MtpObjectsModel::findObject(mtp::u32 objectId) const
{
auto idx = std::find_if(_rows.begin(), _rows.end(), [objectId](const Row & row) { return row.ObjectId == objectId; } );
return idx != _rows.end()? createIndex(std::distance(_rows.begin(), idx), 0): QModelIndex();
}
示例14: setData
void ParamModelBase::SetFreeze(int i, bool is_freeze)
{
setData( createIndex(i,FREEZE), is_freeze, Qt::CheckStateRole );
}
示例15: createIndex
void ApiTraceModel::beginLoadingFrame(ApiTraceFrame *frame, int numAdded)
{
QModelIndex index = createIndex(frame->number, 0, frame);
beginInsertRows(index, 0, numAdded - 1);
}