QStyledItemDelegate 和 QStandardItem 阻止更改文本,仅启用选择和复制
QStyledItemDelegate and QStandardItem preventing change text , enable only select and copy
我有一个简单的QStandardItem和QTableView和QStyledItemDelegate。他们有委托,我想禁用用户更改表中列内容的可能性,并且只允许选择和复制。我想这与QStyledItemDelegate::createEditor
有关.
当我将其设置为返回 0 时,它只是禁用所有内容。
QWidget *InfoTableItemDelegate::createEditor(QWidget *parent,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
// return QStyledItemDelegate::createEditor(parent, option, index);
return 0;
}
我的问题是,我如何定义它,以便我只能选择和复制,并禁用编辑它的选项,例如删除或更改文本
如果您的数据可以显示为简单文本,则可以以只读模式返回 QLineEdit。如果您有图像或其他类型的数据,也许是一个可选的 QLabel,其中包含一些 html(要使 QLabel 可选,您必须在标签的交互标志中包含Qt::TextSelectableByMouse
或Qt::TextSelectableByKeyboard
)。
相关文章:
- 如何使用默认参数等选择模板专业化
- 编译时未启用intel oneApi CUDA支持
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 选择要调用的构造函数
- C++选择排序算法中的逻辑错误
- QTreeView幻灯片多选后无法使用单击选择
- 无法获取菜单选择以运行函数.C++
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- OpenGL在启用深度测试时不会丢弃我的碎片
- 在C++中,如何通过几种类型从元组中选择多个元素
- Visual C++GC接口如何启用它以及要包含哪个库
- 讨论 - 创建矩阵时的数组与向量的向量 - 什么是最实用的选择
- 对可变参数使用声明.如何选择正确的功能
- 如何在自定义类中启用'auto loops'?
- 选择选举获胜者的程序
- 根据某个函数是否存在启用模板
- 如何在 TStringGrid 中启用多行选择
- 有选择地启用一个并行区域内的OpenMP进行循环
- QStyledItemDelegate 和 QStandardItem 阻止更改文本,仅启用选择和复制
- 有选择地启用对话框/窗口的视觉样式