Qt M/V Deligate
当用户选择Qt M/V Deligate,qt,model-view-controller,delegates,mv,Qt,Model View Controller,Delegates,Mv,当用户选择QTableView单元格(包含日期时间)时,我想显示QDateTimeWidget。我已写信给代表。如何知道在委托创建编辑器方法中动态使用模型索引的列类型?例如,如果在函数中通过子类化QStyledItemDelegate创建自己的委托 QWidget *DateDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option,
QTableView
单元格(包含日期时间)时,我想显示QDateTimeWidget
。我已写信给代表。如何知道在委托创建编辑器方法中动态使用模型索引的列类型?例如,如果在函数中通过子类化QStyledItemDelegate
创建自己的委托
QWidget *DateDelegate::createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
您可以使用索引
因此,您可以使用index.row()、index.column()
获取行或列。要获取文本(您的日期),您可以执行以下操作:
QString tmpStr =
index.model()->data(index, Qt::DisplayRole).toString();
祝你好运 您可以检查返回的单元格数据类型。记住index.data(Qt::ItemRole)返回QVariant