gpt4 book ai didi

QT4 Qtableview禁用行选择

转载 作者:行者123 更新时间:2023-12-04 12:59:45 25 4
gpt4 key购买 nike

我正在使用 qtableview-s 来显示来自 sqlite 表的一些数据。我有 2 个基本相同的表格 View 。他们都在行中显示公共(public)汽车站(相同型号)。在第一个表中,我选择出发,我想要实现的是,在第二个表中,所选条目之前的所有条目都不可选择,以便用户无法向后移动以选择它们。我可以使用 setRowHidden(row,true) 隐藏它们,但我仍然希望看到它们,但无法选择它们。

我尝试为该行使用标志 Qt::ItemFlags(在自定义模型中使用标志方法),但无论我使用什么,这些行仍然是可选的。有谁知道如何禁用 QTableView 中的行,以便它仍然显示但不可选择。

最佳答案

感谢您的提示/帮助,但与此同时我找到了解决方案(我的代码中的错误)。这是我的自定义模型中的错误。我为项目返回了错误的标志。对于可能尝试做类似事情的其他人。您必须在自定义模型(QSQLQueryModel 派生)中实现 flags 方法,并为您不想选择的项目返回标志 Qt::NoItemFlags。我正在返回 QAbstractItemModel::flags(index) 但已经设置了一些默认标志。

Qt::ItemFlags busStopsTableModel::flags(const QModelIndex &index) const
{
if(index.row()>lastDisableRowID){

return QAbstractItemModel::flags(index)|Qt::ItemIsSelectable;
}
else
{
return Qt::NoItemFlags;
}

}

关于QT4 Qtableview禁用行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7162429/

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