Здравствуйте, гость ( Вход | Регистрация )
|
greh |
19.10.2011, 7:29
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 23.11.2009 Пользователь №: 1252 Спасибо сказали: 0 раз(а) Репутация: 0
|
Про компиляции на вот такой коннект не ругается:
Однако при приёме сигнала выдаёт в консоль следущее: Что он хочет? Будет ли проще и лучше после получения сигнала забирать эти данные из объекта функцией? |
|
|
|
![]() |
|
Snake174 |
19.10.2011, 8:00
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 89 Регистрация: 18.4.2011 Из: Миасс Пользователь №: 2613 Спасибо сказали: 9 раз(а) Репутация: 0
|
Добавь
1) #include <QMetaType> 2) qRegisterMetaType< QStack<QPair<QPoint,QPoint> > >("Stack"); Если не поможет, попробуй просто qRegisterMetaType<QStack>("Stack"), хотя врятли. |
|
|
|
|
greh |
19.10.2011, 9:08
Сообщение
#3
|
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 23.11.2009 Пользователь №: 1252 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(Snake174 @ 19.10.2011, 11:00) Link Добавь 1) #include <QMetaType> 2) qRegisterMetaType< QStack<QPair<QPoint,QPoint> > >("Stack"); Если не поможет, попробуй просто qRegisterMetaType<QStack>("Stack"), хотя врятли. А как его потом использовать? В заголовочных файлах менять описание сиглналов/слотов? И вообще зачем всё это (почему оно не работает без этой магии)? |
|
|
|
|
wiz29 |
19.10.2011, 10:07
Сообщение
#4
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 600 Регистрация: 7.7.2010 Из: Санкт-Петербург Пользователь №: 1866 Спасибо сказали: 94 раз(а) Репутация: 12
|
Это надо для системы метакомпиляции Qt. В ассистанте есть подробные разъяснения зачем оно надо.
|
|
|
|
|
Snake174 |
19.10.2011, 10:45
Сообщение
#5
|
![]() Студент ![]() Группа: Участник Сообщений: 89 Регистрация: 18.4.2011 Из: Миасс Пользователь №: 2613 Спасибо сказали: 9 раз(а) Репутация: 0
|
Цитата(greh @ 19.10.2011, 9:08) Link В заголовочных файлах менять описание сиглналов/слотов? Ничего менять не надо. qRegisterMetaType< QStack<QPair<QPoint,QPoint> > >("Stack"); поставь в конструктор или ещё куда, главное до посыла сигнала. Цитата(greh @ 19.10.2011, 9:08) Link (почему оно не работает без этой магии)? А почему "оно" вообще не делает всё за тебя? mainwindow.cpp mainwindow.h
|
|
|
|
|
greh |
19.10.2011, 12:04
Сообщение
#6
|
|
Студент ![]() Группа: Участник Сообщений: 48 Регистрация: 23.11.2009 Пользователь №: 1252 Спасибо сказали: 0 раз(а) Репутация: 0
|
Цитата(Snake174 @ 19.10.2011, 13:45) Link Ничего менять не надо. qRegisterMetaType< QStack<QPair<QPoint,QPoint> > >("Stack"); поставь в конструктор или ещё куда, главное до посыла сигнала. qRegisterMetaType< QStack<QPair<QPoint,QPoint> > >("Stack"); // не помогло qRegisterMetaType<QStack>("Stack"); // не компилируется error: no matching function for call to ‘qRegisterMetaType(const char [6])’ Я наверное вытащу через функцию эти данные, будет куда проще. |
|
|
|
|
Snake174 |
20.10.2011, 4:39
Сообщение
#7
|
![]() Студент ![]() Группа: Участник Сообщений: 89 Регистрация: 18.4.2011 Из: Миасс Пользователь №: 2613 Спасибо сказали: 9 раз(а) Репутация: 0
|
Ну или как вариант ещё использовать typedef:
|
|
|
|
![]() ![]() ![]() |
|
|
Текстовая версия | Сейчас: 19.8.2025, 23:22 |