• 大小: 0.02M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: 其他
  • 标签: 其他  

资源简介


在QTableView 中添加Combo控件,实现列表中的下拉选择控件,在Qt中Demo有了编辑框和spin的列表控件,我在demo中spin的工程中添加了combo,实现列表中的combo下拉选择控件,其他的控件也可以参考此方法开发,新加的为combodelegate.h和combodelegate.cpp。 整个工程在4.8.5下运行验证,如更高版本不兼容,可只拷贝上述两个文件试试,再不行可直接给我留言。

资源截图

代码片段和文件信息

#include 
#include “combodelegate.h“

ComboDelegate::ComboDelegate( const QStringList &items Qobject *parent) :
    QItemDelegate(parent)
{
    myItems = items;
}

QWidget *ComboDelegate::createEditor(QWidget *parent const QstyleOptionViewItem & const QModelIndex &) const
{
    QComboBox *editor = new QComboBox(parent);
    editor->addItems(myItems);
    editor->setEditable(false);

    return editor;

}

void ComboDelegate::setEditorData(QWidget *editor const QModelIndex &index) const
{

    QString value = index.model()->data(index Qt::EditRole).toString();
    QComboBox *comboBox = static_cast(editor);

    int icurIndex = comboBox->findText(value);

    comboBox->setCurrentIndex(icurIndex);

}

void ComboDelegate::setModelData(QWidget *editor QAbstractItemModel *model const QModelIndex &index) const
{

    QComboBox *comboBox = static_cast(editor);
    QString value = comboBox->currentText();
    model->setData(index value Qt::EditRole);

}


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1181  2015-12-04 16:23  spinboxdelegate\combodelegate.cpp
     文件         714  2015-12-04 16:23  spinboxdelegate\combodelegate.h
     文件        3481  2013-06-07 13:16  spinboxdelegate\delegate.cpp
     文件        2806  2013-06-07 13:16  spinboxdelegate\delegate.h
     文件        3389  2015-12-04 16:25  spinboxdelegate\main.cpp
     目录           0  2015-12-04 13:09  spinboxdelegate\release\
     文件       19456  2013-06-27 18:00  spinboxdelegate\release\spinboxdelegate.exe
     文件         248  2013-06-07 13:16  spinboxdelegate\spinboxdelegate.desktop
     文件         695  2015-12-04 13:21  spinboxdelegate\spinboxdelegate.pro
     文件       18000  2015-12-04 16:26  spinboxdelegate\spinboxdelegate.pro.user
     目录           0  2015-12-04 13:09  spinboxdelegate\tmp\
     目录           0  2015-12-04 13:09  spinboxdelegate\tmp\obj\
     目录           0  2015-12-04 13:09  spinboxdelegate\tmp\obj\release_shared\
     文件         638  2013-06-27 18:00  spinboxdelegate\tmp\obj\release_shared\spinboxdelegate.intermediate.manifest

评论

共有 条评论