Russian Qt Forum
Апрель 23, 2024, 18:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: "простое" контекстное меню  (Прочитано 2239 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Май 22, 2016, 10:20 »

Добрый день

В большинстве случаев при вызове конекстного меню (юзер где-то нажал правую кнопку) мне совершенно не нужно и неудобно разводить многочисленные слот/сигналы. Я хочу простое человеческое меню (по 20 копеек) которое возвращает мне индекс выбранного айтема. Как это лучше сделать?  Или может что-то есть готовое?

Спасибо
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Май 22, 2016, 13:30 »

Код
C++ (Qt)
QMenu menu;
QMap< int, QAction* > al;
enum { Cut, Copy, Paste };
 
al[ Cut ] = menu.addAction( tr( "Cut" ) );
al[ Copy ] = menu.addAction( tr( "Copy" ) );
al[ Paste ] = menu.addAction( tr( "Paste" ) );
 
switch( al.key( menu.exec( QCursor::pos() ), -1 ) )
{
       case Cut:
               break;
       case Copy:
               break;
       case Paste:
               break;
};
 
 
Записан

Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Май 22, 2016, 13:58 »

Да, такой простой вариант почему-то совсем не пришел мне в голову  Улыбающийся
Спасибо
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.071 секунд. Запросов: 22.