FileChooser onFocus текстового поля C ++ - PullRequest
1 голос
/ 13 июня 2011

Я хочу обойти необходимость в кнопке для вызова диалога FileChooser в моем приложении, поэтому я настраиваю его так, чтобы, когда текстовое поле получало фокус, FileChooser просто запускался автоматически.

Это легко сделать, но проблема в том, что после того, как пользователь выбирает файл и нажимает "ОК", текстовое поле, в котором он находился, все еще находится в фокусе, поэтому FileChooser "застревает" и продолжает активироваться.

Я бы просто установил его для перехода к следующему блоку управления, но следующие несколько блоков также запускают FileChooser, и я думаю, что для пользователя будет непонятно, если FileChooser появится , чтобы просто остаться там ... они могут подумать, что он застрял.

Есть ли способ убрать фокус с элемента управления?

Заранее спасибо за помощь!

1 Ответ

2 голосов
/ 13 июня 2011

Вместо удаления фокуса сделайте следующее: объявите переменную для этого текстового поля, например, bool open = false;После открытия средства выбора файлов установите для него значение true, и перед открытием средства выбора файлов убедитесь, что для переменной задано значение true или false, если значение равно false, откройте его, если оно равно true, оставьте его

...