gpt4 book ai didi

qt - 如何在 QTableWidget 中设置过滤器选项

转载 作者:行者123 更新时间:2023-12-03 09:31:16 24 4
gpt4 key购买 nike

在我的应用程序中,我有 QtableWidget显示多行,行编辑以输入字符串和按钮,点击按钮时要求相同 QTableWidget应该只显示那些将字符串输入到行编辑中的行。

我想用 QSortFilterProxy型号可QTableWidgetsetModel(...)方法私有(private),所以我无法使用 QSortFilterProxy本例中的模型。请让我知道如何在 QTable Widget 中实现 Filter 选项

最佳答案

无论如何,使用排序/过滤代理可能是矫枉过正。

这是一个遍历所有 QTableWidgetItem 对象,确定它们的文本是否与过滤器匹配并根据需要调用 QTableView::setRowHidden() 的问题。

例如:

QString filter = textEdit->text();
for( int i = 0; i < table->rowCount(); ++i )
{
bool match = false;
for( int j = 0; j < table->columnCount(); ++j )
{
QTableWidgetItem *item = table->item( i, j );
if( item->text().contains(filter) )
{
match = true;
break;
}
}
table->setRowHidden( i, !match );
}

关于qt - 如何在 QTableWidget 中设置过滤器选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6785481/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com