Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2011, 12:11   #1
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию Контекстное меню QGraphicsItem

Взял из документации это
Цитата:
void CustomItem::contextMenuEvent(QGraph icsSceneContextMenuEvent *event)
{
QMenu menu;
QAction *removeAction = menu.addAction("Remove");
QAction *markAction = menu.addAction("Mark");
QAction *selectedAction = menu.exec(event->screenPos());
// а что дальше? как прикрутить слот?
}
Делаю так
Цитата:
QObject::connect(menu,SIGNAL(trigge red(QAction*)),SLOT(slot_message()) );
slot_message() - это public slots;
Получаю такую ошибку
Цитата:
error: cannot call member function 'bool QObject::connect(const QObject*, const char*, const char*, Qt::ConnectionType) const' without object
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 25.01.2011, 18:06   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

http://www.qtcentre.org/threads/5187...-QGraphicsItem

По твоей ошибке — CustomItem это QGraphicsItem? Если да, то всё понятно, ведь надо чтоб это был QGraphicsObject.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 25.01.2011, 20:20   #3
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
http://www.qtcentre.org/threads/5187...-QGraphicsItem

По твоей ошибке — CustomItem это QGraphicsItem? Если да, то всё понятно, ведь надо чтоб это был QGraphicsObject.

CustomItem это класс унаследованный от QGraphicsItem. А что за QGraphicsObject? Дайте ссылку. Про такое в книге не пишут!
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 25.01.2011, 21:19   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Чтобы работать с сигналами и слотами, твой класс должен быть унаследован от QObject. А QGraphicsObject = QGraphicsItem+QGraphicsObject. Вот и всё. Это класс ввели в Qt 4.6, поэтому в книге про него и не пишут.

Одной только книги недостаточно, используйте Qt Assistant.

Да и использовать сигналы-слоты с каждым итемом в сцене там незачем. Читай доки про QGraphicsItem::contextMenuEvent.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 25.01.2011, 21:40   #5
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
Чтобы работать с сигналами и слотами, твой класс должен быть унаследован от QObject. А QGraphicsObject = QGraphicsItem+QGraphicsObject. Вот и всё. Это класс ввели в Qt 4.6, поэтому в книге про него и не пишут.

Одной только книги недостаточно, используйте Qt Assistant.

Да и использовать сигналы-слоты с каждым итемом в сцене там незачем. Читай доки про QGraphicsItem::contextMenuEvent.
Спасибо большое! Завтра обязательно попробую QGraphicsObject!
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 25.01.2011, 22:04   #6
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Это overkill, делай через contextmenuevent.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 25.01.2011, 22:21   #7
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Это overkill
Что это значит?
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Старый 25.01.2011, 22:24   #8
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Русский аналог — из пушки по воробьям.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 25.01.2011, 22:39   #9
iukash
учу английский...
Форумчанин
 
Аватар для iukash
 
Регистрация: 04.04.2009
Сообщений: 480
По умолчанию

Цитата:
Сообщение от Obey-Kun Посмотреть сообщение
Русский аналог — из пушки по воробьям.
Буду знать!
"Мы можем что-то изменить и своими силами..."
"Начнешь с себя, примером ближнему поможешь..."
iukash вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контекстное меню Miller-1981 Win Api 0 05.12.2010 01:35
контекстное меню J.Bond Помощь студентам 3 17.06.2010 21:18
Контекстное меню anGeee Общие вопросы Delphi 1 30.10.2009 21:28
Контекстное меню. nikolai_P Microsoft Office Excel 1 05.05.2009 09:57