我使用QSqlTableModel创建了一个QTableView。 按标准,双击单元格会标记它们,用户可以编辑它们。 我想要的是,用户不允许这样做。他可以通过点击单个单元格来标记整行,但不能编辑单元格。 我该怎么做?QTableView - 不允许用户编辑单元格
9
A
回答
17
根据您是否正在编写任何代码或设计师做的事情,设置
editTriggers
到QAbstractItemView::NoEditTriggers
selectionBehavior
到QAbstractItemView::SelectRows
- 选择设置
selectionMode
到QAbstractItemView::SingleSelection
如果您希望用户选择恰好一行
适当的调用都将用在设计set
例如setEditTriggers()
前缀的tableview对象上,你可以找到在AbstractItemView
部分
8
试试这个:
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
2
切换掉的表项的ItemIsEditable
位。例如: -
QTableWidgetItem* item = new QTableWidgetItem(...);
...
item->setFlags(item->flags() &= ~Qt::ItemIsEditable);
1
理想情况下,你将要使用:
void QAbstractItemView::setItemDelegate (QAbstractItemDelegate * delegate)
,然后创建一个从QItemDelegate
继承像this例如一类。 编辑类有
QWidget * QItemDelegate::createEditor (QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index) const
回报NULL
或使用:
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
你也想看看
void setSelectionBehavior (QAbstractItemView::SelectionBehavior behavior)
使用参数:QAbstractItemView::SelectRows
相关问题
- 1. 编辑QTableView单元格值
- 2. 允许用户编辑UITableView单元格中的文本
- 3. 允许用户编辑CSS
- 4. jqGrid只允许在编辑单元格时编号
- 5. 允许单个用户一次编辑Google电子表格
- 6. 当试图编辑QTableView中的单元格时调用QFileDialog
- 7. 允许用户编辑和存储HTML
- 8. 只允许某些用户编辑ASPxGridView
- 9. EditText不允许编辑
- 10. TextField不允许编辑
- 11. 形式不允许编辑
- 12. 用户在TStringGrid中编辑单元格
- 13. 在QTableView中显示行中所有单元格的编辑器
- 14. PyQt5 QTableView单元格编辑行为 - 原始值的叠加
- 15. 编辑QTableView单元格时设置初始文本
- 16. C#DataGridView单元格不允许小数
- 17. WPF Datagrid编辑将不会允许我更改其他单元格
- 18. 什么,允许用户编辑网站维基风格
- 19. 禁用内联和单元格编辑,只允许在jqgrid中进行表单编辑
- 20. 需要保留一些列可编辑和不可编辑,并允许单元格编辑只需双击单元格
- 21. 当点击按钮时,QTableView不会更新已编辑的单元格
- 22. 编辑表格单元格
- 23. Winforms Combobox - 不允许用户编辑项目
- 24. 不允许用户从查询中编辑数据库
- 25. 允许编辑短名称的敏捷添加/编辑表格
- 26. 管理员用户允许删除和编辑其他用户
- 27. jqGrid单元格编辑 - 双击编辑?
- 28. 如何编辑QTableView
- 29. 允许用户无需编辑帐户:url中
- 30. 允许用户编辑帐户,而无需身份在网址
这就是所谓的QAbstractItemView中:: NoEditTriggers,QAbstractItemView中:: SelectRows和QAbstractItemView中::这些选项SingleSelection,但这正是我正在寻找的。谢谢! – Berschi 2009-08-25 14:34:10