QItemDelegate

来源:互联网 发布:梅原大吾背水逆转 知乎 编辑:程序博客网 时间:2024/06/08 03:44
 #include <QtGui> #include "delegate.h" SpinBoxDelegate::SpinBoxDelegate(QObject *parent)     : QItemDelegate(parent) { } QWidget *SpinBoxDelegate::createEditor(QWidget *parent,     const QStyleOptionViewItem &/* option */,     const QModelIndex &/* index */) const {     QSpinBox *editor = new QSpinBox(parent);     editor->setMinimum(0);     editor->setMaximum(100);     return editor; } void SpinBoxDelegate::setEditorData(QWidget *editor,                                     const QModelIndex &index) const {     int value = index.model()->data(index, Qt::EditRole).toInt();     QSpinBox *spinBox = static_cast<QSpinBox*>(editor);     spinBox->setValue(value); } void SpinBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model,                                    const QModelIndex &index) const {     QSpinBox *spinBox = static_cast<QSpinBox*>(editor);     spinBox->interpretText();     int value = spinBox->value();     model->setData(index, value, Qt::EditRole); } void SpinBoxDelegate::updateEditorGeometry(QWidget *editor,     const QStyleOptionViewItem &option, const QModelIndex &/* index */) const {     editor->setGeometry(option.rect); }
0 0
原创粉丝点击