![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Rocky |
![]()
Сообщение
#1
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет!
Решил сделать систему хоткеев в программе. На форме есть QTabWidget. На каждой вкладке - кнопки. В дизайнере поставил каждой кнопке свой Shortcut. Вроде все правильно. При попытке нажать хоткей кнопки, которая находится на текущей вкладке QTabWidget - все работает. А вот если нажимать хоткей кнопки, находящейся на неактивированной (скрытой) вкладке - то не работает (до тех пор, пока не сделать эту вкладку текущей).... Из-за чего такое поведение? Просто я ожидал, что внутри диалогового окна будут работать все заданные хоткеи. Или получается что QTabWidget - как бы обладает модальностью текущей вкладки по отношению к другим при ее активации? И поэтому не работают хоткеи с других вкладок? Как это можно исправить чтобы работало как задумано? Потому что идея хоткея как раз в том, чтобы никуда не переключаться и не искать кнопку с нужным названием. Как вариант, ловить все нужные сочетания в keyPressEvent диалогового окна.. Или можно как-то еще? Спасибо! |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Из-за чего такое поведение? виджет не активен - события не принимает.Если нужен "глобальный" вариант, устанавливай горячие кнопки главному окну или виджету контейнеру, который всегда виден. Для понимания простой пример: попробуй окно одной программы закрыть окном другой программы и воспользоваться комбинацией клавиш, например, <Ctrl>+<C>. Какая программа эту комбинацию поймает? |
|
|
Rocky |
![]()
Сообщение
#3
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Rocky |
![]()
Сообщение
#5
|
Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: ![]() ![]() ![]() |
Вобщем если кому-то понадобится, я сделал так (в конструкторе главного виджета)
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 18.2.2025, 22:03 |