先看实现效果
设置qss
QWidget:focus{outline: none;}
QListView{
font-size: 18px;
background:rgb(255, 255, 255);
border-bottom-right-radius:10px;
border-top-right-radius:10px;
color: #0c56af;
}
QListView::Item{
height:50px;
border:0px;
color: #0c56af;
}
QListView::Item:selected{
color: #ffffff;
background: #4b7ad8;
border-radius: 4px;
}
使用代码设置每一项的间距内容和图标,图标大小
ui->listView->setViewMode(QListView::ListMode);
ui->listView->setMovement(QListView::Static);
QStandardItem *s1;
QStandardItem *s2;
QStandardItem *s3;
QStandardItem *s4;
QStandardItem *s5;
QStandardItemModel* slm;
s1=new QStandardItem(QIcon(":/program_run.png")," 运行程序");
s2=new QStandardItem(QIcon(":/program_edit.png"),"编辑名称");
s3=new QStandardItem(QIcon(":/program_step.png"),"编辑步骤");
s4=new QStandardItem(QIcon(":/program_add.png"),"新增程序");
s5=new QStandardItem(QIcon(":/program_delete.png"),"删除程序");
slm=new QStandardItemModel(this);
slm->appendRow(s1);
slm->appendRow(s2);
slm->appendRow(s3);
slm->appendRow(s4);
slm->appendRow(s5);
ui->listView->setModel(slm);
ui->listView->setIconSize(QSize(36,36));
ui->listView->setSpacing(10);