关于QTableWidget表头添加全选按钮
实现效果
全不选
全选
解决方案思路
点击表头触发sectionClicked连接槽函数再将表头Icon设置成对应的图片即可
信号与槽
connect(ui->JobTable->horizontalHeader(),&QHeaderView::sectionClicked,this,&MainWindow::allSelectItems);
槽函数完整代码
void MainWindow::allSelectItems(int n)
{
if(n==0)//0表示表头的第一个
{
if(OK)
{
for(int i=0;i<ui->JobTable->rowCount();i++)
{
ui->JobTable->item(i,0)->setCheckState(Qt::Checked);
}
ui->JobTable->horizontalHeaderItem(0)->setIcon(QIcon(":/new/prefix1/image/AllSelect.png"));
OK=false;
}else
{
for(int i=0;i<ui->JobTable->rowCount();i++)
{
ui->JobTable->item(i,0)->setCheckState(Qt::Unchecked);
}
ui->JobTable->horizontalHeaderItem(0)->setIcon(QIcon(":/new/prefix1/image/NoSelect.png"));
OK=true;
}
}
}