Работа в киоске с сенсорным экраном, в котором есть виджет виртуальной клавиатуры. Во всех диалогах виртуальная клавиатура является единственным способом несенсорного ввода. Сейчас я работаю над QTreeView для отображения имен файлов с помощью QFileSystemModel, и я добавил столбец с именем Новое имя (все остальные столбцы, кроме имени, скрыты). Я переопределил createEditor() и destroyEditor() для делегата, назначенного для QTreeView, и переопределил data() и setData() для модели. Переопределение createEditor() возвращает указатель на локальный объект QLineEdit, чтобы я мог контролировать результаты редактирования (подключая их к объекту данных моей модели для этого нового столбца).
С моей физической клавиатурой я могу вносить изменения в ячейку «Новое имя» для данной строки, но я не могу понять, как печатать на виртуальной клавиатуре, не теряя фокуса и не вызывая destroyEditor() для редактируемого элемента. Любые идеи о том, как это можно сделать? Я копался в коде Qt, но пока не повезло.