根據篩選的内容,匹配表格的某一列,如果不匹配,就隱藏那一行
时间: 2024-04-13 21:28:13 浏览: 20
要根据筛选的内容匹配表格的某一列隐藏不匹配的行,您可以使用QTableWidget的setRowHidden()来实现。以下是一个示例代码,演示了如何在QComboBox的当前索引改变时,根据选择的筛选内容隐藏不匹配的行:
```cpp
// 创建QLabel和QComboBox
QLabel* nameLabel1 = new QLabel("任務類型", page1);
nameLabel1->setFont(QFont("Arial", 10));
QComboBox* nameComboBox1 = new QComboBox(page1);
nameComboBox1->setGeometry(1070, 70, 100, 30);
nameComboBox1->addItem("全部類型");
nameComboBox1->addItem("物料任務");
// 将信号与槽函数连接起来
connect(nameComboBox1, QOverload<int>::of(&QComboBox::currentIndexChanged), this, &YourClass::filterTable);
// 槽函数实现
void YourClass::filterTable(int index)
{
QString selectedType = nameComboBox1->currentText();
// 遍历表格的某一列,根据筛选内容隐藏不匹配的行
for (int row = 0; row < tableWidget->rowCount(); ++row)
{
QString cellValue = tableWidget->item(row, columnToFilter)->text();
if (selectedType == "全部類型" || cellValue == selectedType)
{
tableWidget->setRowHidden(row, false); // 显示匹配的行
}
else
{
tableWidget->setRowHidden(row, true); // 隐藏不匹配的行
}
}
}
```
请将上述代码中的`YourClass`替换为包含槽函数`filterTable()`的类的名称。在槽函数中,`columnToFilter`是您要筛选的列的索引,`tableWidget`是您的表格对象。根据当前选择的筛选内容,遍历表格的某一列,并使用`setRowHidden()`函数来隐藏或显示行。如果选择的筛选内容是"全部類型"或与单元格值匹配,则显示行;否则,隐藏行。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)