【发布时间】:2016-07-15 21:09:34
【问题描述】:
在具有虚拟键盘小部件的触摸屏信息亭系统上工作。在所有对话框中,虚拟键盘是唯一的非触摸输入方法。我现在正在开发一个 QTreeView 以使用 QFileSystemModel 显示文件名,并且我添加了一个名为 New Name 的列(除了 Name 之外的所有其他列都被隐藏)。我已经为分配给 QTreeView 的委托覆盖了 createEditor() 和 destroyEditor(),并覆盖了模型的 data() 和 setData()。 createEditor() 覆盖返回一个指向本地 QLineEdit 对象的指针,以便我可以控制编辑结果(将它们插入到我的模型的新列数据对象中)。
使用我的物理键盘,我可以更改给定行的新名称单元格,但我无法弄清楚如何在我的虚拟键盘上键入而不失去焦点并在我正在编辑的项目上调用 destroyEditor() .关于如何做到这一点的任何想法?我已经深入研究了 Qt 代码,但到目前为止还没有运气。
【问题讨论】:
标签: c++ qt qtreeview kiosk virtual-keyboard