【发布时间】:2012-06-18 10:24:36
【问题描述】:
QTableView 有很多选择模式,但所有这些都会导致一种选择,即单击行上的任意位置会选择整行,并且不会显示选择矩形。
当我选择项目时,我希望标准选择矩形带有虚线边框。只有当我实际将鼠标悬停在项目的文本上时,才应该选择这些项目。
换句话说,我希望它表现得像桌面选择。
我该怎么做?
【问题讨论】:
QTableView 有很多选择模式,但所有这些都会导致一种选择,即单击行上的任意位置会选择整行,并且不会显示选择矩形。
当我选择项目时,我希望标准选择矩形带有虚线边框。只有当我实际将鼠标悬停在项目的文本上时,才应该选择这些项目。
换句话说,我希望它表现得像桌面选择。
我该怎么做?
【问题讨论】:
这将允许您选择单个项目:
tableView->setSelectionBehavior(QAbstractItemView::SelectItems);
这将帮助您获得虚线边框:
tableView->setSelectionMode(QAbstractItemView::NoSelection);
【讨论】:
你是说当你setSelectionMode(QAbstractItemView::SingleSelection) 在你的视图上时,你仍然会得到点击选择整行的行为吗?不应该是这样的。
你的模型的类是什么——如果是派生的,你是从什么 Qt 模型中派生出来的?你对 flags() 的实现是什么?
【讨论】: