QListWidget添加复选框。
QListWidget设置Checkbox。
QListWidget项设置勾选框。
效果
QListWidget
QListWidget为Qt列表展示控件,每一项以文本展示,并可设置Icon。
QListWidgetItem
QListWidgetItem代表QListWidget中的每一行,可以为其添加复选框。
通过setFlags()
接口,为QListWidgetItem添加标志位Qt::ItemIsUserCheckable
,使其支持复选。
注意:设置复选的Item还需要给出初始状态setCheckState()
,指出Item是否勾选,否则复选框可能不会显示。
- 示例代码:
QListWidget *listWgt = new QListWidget;
QListWidgetItem* item = new QListWidgetItem("item1", listWgt);
item->setFlags(item->flags() | Qt::ItemIsUserCheckable);
item->setCheckState(Qt::Unchecked);
listWgt->addItem(item);
复选状态监听
连接QListWidget的itemChanged()
信号,Item的状态或数据发出改变时,将发出该信号。
//连接信号
connect(listWgt, &QListWidget::itemChanged, this, &MyWgt::slotItemChanged);
//省略代码
......
//槽函数
void MyWgt::slotItemChanged(QListWidgetItem* item)
{
if(item)
{
Qt::CheckState state = item->checkState();
qDebug() << item->text() << state;
}
}