Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 31.01.2017
Сообщений: 45

Зачем нужен QAction

04.04.2017, 17:43. Показов 2333. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Зачем нужен QAction, где его использовать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.04.2017, 17:43
Ответы с готовыми решениями:

Зачем нужен Qt
Привет всем. Такой собственно вопрос. Зачем нужен Qt и есть ли смысл его изучать? C++ знаю на более менее среднем уровне, WinAPI тоже...

Проблема с QAction
Всем привет! Есть иконка в трее У неё есть меню m_ptrayIconMenu = new QMenu(this); Динамически создаём 2 итема ...

QMenu, QAction
Добрый день товарищи. Вопрос: можно ли как-то узнать индекс QAction'a нажатого в QMenu.

11
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
04.04.2017, 17:49
Например при создании меню и toolbar'ов
0
 Аватар для Wyn
1073 / 654 / 230
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
05.04.2017, 11:59
YouMaster, QAction это класс для описания пользовательского действия. Достаточно создать одно действие и затем его можно прикрутить в меню, в тулбар, или к любому виджету. Он в общем-то почти не используется без установки в меню или тублары, но и самостоятельно, будучи установленным в какой-то виджет, он может перехватывать ключевые сочетания клавиш(shortcut) на уровне этого виджета и исполнять приписанные ему действия.
0
0 / 0 / 0
Регистрация: 31.01.2017
Сообщений: 45
05.04.2017, 16:06  [ТС]
Wyn, Это же что то вроде кнопки, у него есть метод setIcon(), setText() ... то есть виджет который обрабатывает клики?
0
1 / 1 / 0
Регистрация: 19.08.2015
Сообщений: 26
05.04.2017, 17:14
Когда создаёте элементы меню, например: открыть, новый, сохранить...или элементы контекстного меню, то прикрепляете к ним QAction, в котором есть дополнительная информация, те же картинки, которые будут отображаться, при нажатии на такой элемент у прикрепленного к нему QAction срабатывает сигнал triggered, который можете прикреплять к любому слоту
0
0 / 0 / 0
Регистрация: 31.01.2017
Сообщений: 45
05.04.2017, 17:19  [ТС]
МаксМалафеев, А если делать собственное меню то он тут не понадобится?
0
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2224 / 1426 / 420
Регистрация: 16.05.2013
Сообщений: 3,649
Записей в блоге: 6
05.04.2017, 17:47
Цитата Сообщение от YouMaster Посмотреть сообщение
Wyn, Это же что то вроде кнопки, у него есть метод setIcon(), setText() ... то есть виджет который обрабатывает клики?
Что-то вроде кнопочки это QWidgetAction, а действие оно и есть действие хоть в меню его помещай хоть на панель инструментов.
0
1 / 1 / 0
Регистрация: 19.08.2015
Сообщений: 26
05.04.2017, 19:21
Цитата Сообщение от YouMaster Посмотреть сообщение
МаксМалафеев, А если делать собственное меню то он тут не понадобится?
Что вы имеете ввиду под словом собственное?
0
0 / 0 / 0
Регистрация: 31.01.2017
Сообщений: 45
05.04.2017, 20:55  [ТС]
МаксМалафеев, Собсвенный виджет, накидать в него кнопок, соединить со слотами
0
1 / 1 / 0
Регистрация: 19.08.2015
Сообщений: 26
05.04.2017, 21:12
Можно и так. Вообщем если в 2х словах, то QAction обычно используются в виджетах, для создания менюшек, как обычных, так и контекстных. Насоздавал QAction, добавил их в виждет и считай контекстное меню готово, только соединяешь с нужными слотами. Или добавляешь их в QMenuBar, который потом устанавливаешь, например, в QMainWindow. Очень удобно и быстро.
0
0 / 0 / 0
Регистрация: 31.01.2017
Сообщений: 45
05.04.2017, 22:39  [ТС]
Цитата Сообщение от МаксМалафеев Посмотреть сообщение
Можно и так.
А вообще есть смысл делать собственное меню? У меня меню должно быть простым, там кнопки с текстом и иконками, размеры свои, все должно быть стилизованно...
0
86 / 60 / 12
Регистрация: 06.06.2013
Сообщений: 216
05.04.2017, 23:50
Создаешь QAction, добавляешь иконку, горячую клавишу, подсказки там всякие. Затем тащишь его в меню, в тулбар, добавляешь в контекстное меню. При необходимости меняешь размер иконки, если не хватает красивостей. Таким образом, даешь свободу выбора пользователю твоей программы: для некоторых кнопки лишь закрывают рабочее пространство - они закроют тулбар и панель меню, а особо искушенные выучат горячие клавиши и будут пользоваться только ими. А кому-то удобнее тыкать мышкой по кнопкам - на меню он даже не посмотрит. Изюминка в том, что все эти варианты позволяет сделать всего одно QAction через один коннект, быстро и аккуратно. А как сделать, например, всплывающее меню через кнопки, я вообще не представляю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2017, 23:50
Помогаю со студенческими работами здесь

QAction и посылка сигнала
Почему не обрабатывается сигнал?? _________H____________ class MyClass : public QMainWindow { Q_OBJECT public: ...

Перемещение QAction в QToolBar
Доброго времени суток. Задача такая, имеется QToolBar, в нем несколько QAction. Так мне нужно чтобы QAction можно было передвигать местами...

QAction QDialog ShortCut
не могу понять почему не работает вызов слота по нажатию F5 this это QDialog QAction* reloadDB = new QAction(this); ...

ToolBar & QAction
Проблема вот в чём: не очень понимаю механизм QAction хотел сделать toolbar а на нём кнопочку(для начала хотябы чтоб закрывала окно) вот...

QAction и горячие клавиши
Тоже проблема с какшонами. Создаю QAction в креаторе, вешаю горячую клавишу, подключаю через QMenu: datatablecommonwidgetclass.h ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru