2012-11-07 49 views
0

我想在用戶選擇QTableView單元格(其中包含datetime)時顯示QDateTimeWidget。我寫了代表。如何在委託創建編輯器方法中動態使用模型索引的列類型?Qt M/V Deligate

+1

您可以檢查單元格數據返回類型。記住index.data(Qt :: ItemRole)返回QVariant –

回答

0

例如,如果通過繼承QStyledItemDelegate,在你的函數創建自己的委託

QWidget *DateDelegate::createEditor(QWidget *parent, 
           const QStyleOptionViewItem &option, 
           const QModelIndex &index) const 

可以使用index

因此,您可以通過使用index.row(), index.column()來獲得行或列。要獲得文本(你的日期),你可以做這樣的事情:

QString tmpStr = 
     index.model()->data(index, Qt::DisplayRole).toString(); 

祝你好運!