首页 文章

Qt5 QTreeView可使用虚拟键盘进行编辑

提问于
浏览
0

在具有虚拟键盘小部件的触摸屏信息亭系统上工作 . 在所有对话框中,虚拟键盘是非触摸输入的唯一方法 . 我现在正在使用QTileView来使用QFileSystemModel显示文件名,并且我添加了一个名为New Name的列(除Name之外的所有其他列都被隐藏) . 我已经为我分配给QTreeView的委托重写了createEditor()和destroyEditor(),并覆盖了模型的data()和setData() . createEditor()重写返回一个指向本地QLineEdit对象的指针,以便我可以控制编辑的结果(将它们插入到我的模型的新列的数据对象中) .

使用我的物理键盘,我可以更改给定行的New Name单元格,但我无法弄清楚如何键入我的虚拟键盘而不会失去焦点并在我正在编辑的项目上调用destroyEditor() . 关于如何做到这一点的任何想法?我已经挖了Qt代码,但到目前为止没有运气 .

1 回答

  • 0

    虚拟键盘必须没有任何可聚焦的小部件 . 它应该是焦点中立的 . 那么它不会偷走焦点 . This answer有一个工作示例,它不会窃取焦点并合成发布到焦点小部件的按键事件 .

相关问题