我是Qt的新手。我必须在QTableView
中显示一大块数据并按列过滤。为此,我使用了QSortFilterProxyModel
,但根据要求,QTableView
的每一列都应该有一个下拉列表,该列表显示该列中的唯一值。在下拉列表中选择任何这些值时,只应在QTableView
中显示列中具有该特定值的行(就像您在Excel中可以做的那样)。
我该如何实现?
答案 0 :(得分:4)
一周前我遇到了同样的问题 我找到了一个解释如何做的教程。见下面的链接 http://programmingexamples.net/wiki/Qt/Delegates/ComboBoxDelegate
现在我的问题是如何检索特定组合框的值。 我认为在C ++中做这么复杂的事情,Qt将一个组合框显示在tableView中。 作为一名Web开发人员,我首先可以说Web语言更适合做某些事情。
但是仍然有一段时间性能问题,我尝试用Qt在C ++中进行,但它并不像Web语言那样简单。
答案 1 :(得分:2)
这是一个非常普遍的问题,如果我尝试解释它,它会占用页面,所以如果你阅读Qt model/view architecture documentation会更好。
您可以创建自己的继承自QTableView
的类来创建自定义表视图。您必须使用委托来执行下拉功能。所以请阅读QItemDelegate
课程文档和documentation on subclassing delegates。
答案 2 :(得分:2)
如果您想要始终显示它而不仅仅是在编辑时,我建议为特定列设置一个小部件,如此主题中所述:Qt - QTableView - Clickable button in table row