<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">最近在写一个安卓的小软件,需要用到的就是在Qlistwidget的item上加上自己的元素</span>

 

 

随百度知

 

可以自己定义自己的元素

 

1 新建一个自己的UI界面,这个上面包含自己需要的控件,这个将会在Item上显示。-------------------------------》project_item

 

2在listwidget 中new 一个,并赋值给list的item,代码如下

 

 

void Widget::create_Item(int count)         //创建一个ITem部分的函数
{
    if(count<=ITEM_NUMBER)                  //判定输入参数是否符合标准
    {
        for(int i=0;i<count;i++)
        {
            Myitem[i] = new Project_Item(ui->listWidget_Project_Show);                                  //初始化自定义的item
            item[i] = new QListWidgetItem(ui->listWidget_Project_Show);                                 //初始化系统默认tiem
            ui->listWidget_Project_Show->addItem(item[i]);                                              //为listwidget添加item
            ui->listWidget_Project_Show->setItemWidget(item[i],Myitem[i]);                              //更改item为自己自定义的item
            Myitem[i]->set_Project_infor(projectin);                                                    //更新数据
            item[i]->setSizeHint(QSize(Myitem[i]->width(),Myitem[i]->height()));                        //更新item的宽和高
        }
    }
    else            //如果输入的参数超出标准,则弹出警告框//在现在看来,这句话是永远不会被执行的
    {
       QMessageBox::critical(this,"警告","项目部分超长",QMessageBox::Ok);    //使用自带警告类
    }
}

 

 

 

 

这里要注意的,我在创建的时候遇到有时候可以,有时候不可以的时候,

 

我的解决方法是在 创建的Project_Item加入一句设置大小的代码setFixedHeight(395);