Qt listwigwt item 加入自定义元素
<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);