gpt4 book ai didi

C++ QT : QTableWidget; how to let the user select text in a cell but not edit it

转载 作者:行者123 更新时间:2023-11-30 03:57:02 25 4
gpt4 key购买 nike

我正在使用 QTableWidget,我要求用户能够突出显示单元格中的特定文本,但如果用户不小心删除或修改了某些单元格内容,则单元格内容不应更改。我在想,完成此操作的最简单方法是忽略用户完成编辑单元格时发生的任何编辑。任何想法如何做到这一点?

使用 C++ 98 和 QT

最佳答案

您可以访问表格小部件项目并修改它们的属性您想禁用 Qt::ItemIsEditable 标志:

QTableWidgetItem* item;
item->setFlags(item->flags() & ~(Qt::ItemIsEditable));

一个好方法是在将单元格插入表格之前设置项目原型(prototype)。创建表后立即

const QtableItem* protoitem = table->itemPrototype();
QtableItem* newprotoitem = protoitem->clone();
newprotoitem->>setFlags(item->flags() & ~(Qt::ItemIsEditable));
table->setItemPrototype(newprotoitem);

现在表格中的每个新单元格都将禁用可编辑标志。如果用户双击它不会打开单元格中的文本编辑。

ps:之后不要删除newprotoitem

关于C++ QT : QTableWidget; how to let the user select text in a cell but not edit it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28223691/

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