当前位置: 代码迷 >> QT开发 >> 关于 qlistwidget的咨询,该如何处理
  详细解决方案

关于 qlistwidget的咨询,该如何处理

热度:19   发布时间:2016-04-25 04:15:21.0
关于 qlistwidget的咨询
本帖最后由 0flying0 于 2012-12-07 11:58:12 编辑
看到这个方法不知道怎么使用

void setItemWidget(QListWidgetItem *item, QWidget *widget);



我的代码如下:
这个是继承qlistwidget的类的一段代码


        QListWidgetItem pieceItem= new QListWidgetItem(this);
        pieceItem->setIcon(QIcon(pixmap));

        if(!appname.isEmpty())
        {
            pieceItem->setText(appname);
            pieceItem->setFont(QFont("宋体",12,3,false));
        }
        pieceItem->setData(Qt::UserRole, QVariant(pixmap));
        pieceItem->setData(Qt::UserRole+1, location);
        qDebug("set Appid pieceItem %s ",qPrintable(appid));
        pieceItem->setData(Qt::UserRole+2, appid);
        pieceItem->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable
                            | Qt::ItemIsDragEnabled);
        //0, new QSpinBox()
        this->setItemWidget(pieceItem,new QSpinBox());


item显示的效果只显示了icon,不知道如何使用对应的widget。
我想实现的效果是 点击item之后,开启对应的一个widget。

------解决方案--------------------
简化一下,做个测试:
QListWidgetItem *item= new QListWidgetitem;
listwidget->addItem(item);
listwidget->setItemWidget(item, widget(随便new个控件,如QPushButton));

是不是icon的问题?