Название: Отловить Ctrl-C в gui Отправлено: spirits25 от Июня 06, 2012, 16:34 Доброе время суток.
Есть любой виджет.. абсолютно произвольный. запускаю программу из консоли. по нажатию комбинации ctrl-c ничего не происходит до любого действия. а лишь потом: Код: ^CTraceback (most recent call last): Название: Re: Отловить Ctrl-C в gui Отправлено: kambala от Июня 06, 2012, 17:45 по идее достаточно повесить eventFilter на qApp - через него проходят все события
Название: Re: Отловить Ctrl-C в gui Отправлено: spirits25 от Июня 07, 2012, 08:10 по идее достаточно повесить eventFilter на qApp - через него проходят все события Если Вы имели ввиду переопределить QtGui.QApplication и там в eventFilter отлавливать (точнее переопределить в нём один метод eventFilter), то не помогло. Или я не так понял?Название: Re: Отловить Ctrl-C в gui Отправлено: kambala от Июня 07, 2012, 12:26 не совсем. если ты решил идти через наследование, то лучше уж переопределять метод event(). а если хочешь именно eventFilter, тогда в конструкторе какого-нибудь класса надо написать qApp->installEventFilter(this) и наследоваться от QApplication не нужно.
Название: Re: Отловить Ctrl-C в gui Отправлено: spirits25 от Июня 07, 2012, 14:18 не совсем. если ты решил идти через наследование, то лучше уж переопределять метод event(). а если хочешь именно eventFilter, тогда в конструкторе какого-нибудь класса надо написать qApp->installEventFilter(this) и наследоваться от QApplication не нужно. от qApp->installEventFilter(this) вообще ничего не меняется.от "переопределять метод event()" все прерывания срабатывают в одном месте (уже хорошо), но всё равно не могу отловить, так как срабатывает в объявлении функции (в первой строке), где прерывание не отловить. Код: Traceback (most recent call last): |