Название: Виртуальная клавиатура не закрывается Отправлено: Zartul от Октябрь 24, 2012, 16:48 Доброго времени суток!
Сделал виртуальную клавиатуру по примеру с QInputContext Вроде все отлично работает, но заметил такую особенность Если вызвать клавиатуру в модальном диалоговом окне, у которого при создании задан родитель Код
и после этого закрыть это окно, то для моего класса, наследуемого от QInputContext, в функцию filterEvent присылается событие QEvent::CloseSoftwareInputPanel, по которому я закрываю и клавиатуру Код
Но! если парент не задан Код
то после вызова клавиатуры в таком окне, и его закрытия событие QEvent::CloseSoftwareInputPanel не приходит и следственно клавиатуру я не скрываю Может сталкивался кто с этой проблемой, или объяснить почему так происходит? Название: Re: ВИртуальная клавиатура не закрывается Отправлено: mutineer от Октябрь 24, 2012, 16:52 1) нельзя объектам на стеке давать родителя - может случиться двойное удаление
Название: Re: ВИртуальная клавиатура не закрывается Отправлено: Zartul от Октябрь 24, 2012, 16:59 1) нельзя объектам на стеке давать родителя - может случиться двойное удаление я знаю, ну код я этот к примеру привел, если надо что бы красиво было пусть там так будет написано :) Код
Название: Re: Виртуальная клавиатура не закрывается Отправлено: mutineer от Октябрь 24, 2012, 17:55 Так объект без родителя на стеке живет или нет?
Название: Re: Виртуальная клавиатура не закрывается Отправлено: Zartul от Октябрь 25, 2012, 10:01 Так объект без родителя на стеке живет или нет? все равно в стеке или в куче создано окно, если оно без родителя и закрывается с вызванной виртуальной клавиатурой, событие QEvent::CloseSoftwareInputPanel наследнику QInputContext не присылается приложил немного модифицированный исходник из экзамплов inputpanel Если кликнуть по первому радиобатону, то вызывается окно без родителя, если по второму то с родителем. |