crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> QMenu невидимым
ruzik
  опции профиля:
сообщение 29.3.2011, 14:55
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Здравствуйте а не подскажите почему на QMenu не действует setVisible(false), ошибку не выдает просто не работает, само меню в строке, или не подскажите как сделать так что бы работали горячие клавиши на тех QAction, которые не находятся ни в каких менюшках или как вручную установить горячую клавишу на QAction
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 29.3.2011, 15:29
Сообщение #2


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Как вариант:
QAction openFolder = new QAction(tr("Open F&older"), this);
openFolder->setShortcuts(QKeySequence::Open);

ну и поиск в хелпе по QKeySequence даст огромное количество примеров. Ну и StandardKey.
Как любое сочетание поставить - не в курсе, так как для основных действий есть стандарт.
Ctrl + O - открыть файл - должно быть в любой проге.


Спрятать QMenu нельзя.
Можно спрятать все элементы - тогда он тоже исчезнет.
qMenu->menuAction()->setVisible(false); //прячет только последний menuBar, не знаю почему
или setVisible(false) для каждого QAction.

Сообщение отредактировал RazrFalcon - 29.3.2011, 15:37
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 29.3.2011, 16:10
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Проблема в том что если сделать QAction невидимым то горячие клавиши прекратят действовать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 29.3.2011, 16:44
Сообщение #4


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


И в правду. Ну тогда стоит задуматься о целесообразности скрытия меню. Нигде не встречал острой в этом необходимости.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 29.3.2011, 17:41
Сообщение #5


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Нужно просто сделать так что бы при нажатии на сочетание клавиш выполнялось определенное действие, не знаете как это можно по-другому сделать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
RazrFalcon
  опции профиля:
сообщение 29.3.2011, 18:12
Сообщение #6


Zombie Mod
*****

Группа: Участник
Сообщений: 1654
Регистрация: 24.5.2010
Из: Харьков
Пользователь №: 1752

Спасибо сказали: 64 раз(а)




Репутация:   212  


Нет, не сталкивался с таким, у меня всегда все действия кнопки дублируют.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MoPDoBoPoT
  опции профиля:
сообщение 29.3.2011, 20:11
Сообщение #7


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


Цитата(ruzik @ 29.3.2011, 18:41) *
Нужно просто сделать так что бы при нажатии на сочетание клавиш выполнялось определенное действие, не знаете как это можно по-другому сделать

QShortcut?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ruzik
  опции профиля:
сообщение 31.3.2011, 15:48
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 254
Регистрация: 23.2.2011
Из: Саратов
Пользователь №: 2436

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата(MoPDoBoPoT @ 29.3.2011, 21:11) *
Цитата(ruzik @ 29.3.2011, 18:41) *
Нужно просто сделать так что бы при нажатии на сочетание клавиш выполнялось определенное действие, не знаете как это можно по-другому сделать

QShortcut?

Вроде то а не подскажите как это соединить с QAction а то я в ассисте не нашел
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
vankleef
  опции профиля:
сообщение 31.3.2011, 20:11
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 21.10.2010
Пользователь №: 2134

Спасибо сказали: 9 раз(а)




Репутация:   1  


Цитата(ruzik @ 31.3.2011, 16:48) *
Цитата(MoPDoBoPoT @ 29.3.2011, 21:11) *
Цитата(ruzik @ 29.3.2011, 18:41) *
Нужно просто сделать так что бы при нажатии на сочетание клавиш выполнялось определенное действие, не знаете как это можно по-другому сделать

QShortcut?

Вроде то а не подскажите как это соединить с QAction а то я в ассисте не нашел


написать обработчик события нажатия клавиш для формы например.
в обработчике обпределять, какие кнопки были нажаты и в зависимости от комбинации вызывать сигнал/слот/функцию/что надо

Сообщение отредактировал vankleef - 31.3.2011, 20:11
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
MoPDoBoPoT
  опции профиля:
сообщение 31.3.2011, 22:38
Сообщение #10


Участник
**

Группа: Участник
Сообщений: 172
Регистрация: 7.5.2009
Из: Москва
Пользователь №: 738

Спасибо сказали: 44 раз(а)




Репутация:   9  


void QShortcut::activated () [signal]
void QAction::trigger () [slot]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 30.4.2024, 22:23