【qt】QListWidget 组件1:https://developer.aliyun.com/article/1523017
五.字体和图标的设置
1.字体:
对于ListWidget里面列表项的字体,我们可以继续设置。
QFont font=ui->listWidget->font(); font.setPointSize(30); ui->listWidget->setFont(font);
运行结果:
2.图标:
图标的大小我们同样可以通过listWidget来进行设置。
ui->listWidget->setIconSize(QSize(40,40));
运行结果:
六.设置显示模式
1.图标
对图标模式用action转到槽
void MainWindow::on_actionIconMode_triggered() { ui->listWidget->setViewMode(QListView::IconMode);//设置为图标模式 }
运行结果:
但是感觉上下帖的好紧,我们可以用setSpacing来进行留白
ui->listWidget->setSpacing(20);//对四周都会产生留白效果
运行结果:
现在还有一个问题就是当我们缩小框的时候,列表项不能够自适应
就是这样:
解决方案:
ui->listWidget->setResizeMode(QListView::Adjust);//可以自适应窗口大小
运行结果:
2.列表
对列表模式action用转到槽:
void MainWindow::on_actionListMode_triggered() { ui->listWidget->setViewMode(QListView::ListMode);//设置为列表模式 //ui->listWidget->setSpacing(10);对四周都会产生留白效果 }
运行结果:
七.其他功能实现
1.删除
void MainWindow::on_actionDelete_triggered() { int count=ui->listWidget->count();//先拿列表项的个数 for(int i=count-1;i>=0;i--)//从后往前删,不然索引会错误 { //如果列表项的复选框选中就进行删除 if(ui->listWidget->item(i)->checkState()==Qt::Checked) { auto item=ui->listWidget->takeItem(i);//删除会返回这个值的指针,但是内存没有真正的删除 delete item; } } }
数学英语被我删了,运行结果:
2.全选
item可以拿到列表项,然后进行设置
void MainWindow::on_actionSelectAll_triggered() { int count=ui->listWidget->count(); for(int i=0;i<count;i++) { ui->listWidget->item(i)->setCheckState(Qt::Checked); } }
运行结果:
【qt】QListWidget 组件3:https://developer.aliyun.com/article/1523028