| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] Виртуальное наследование с QObject. |
| Автор: Elfet 23.1.2010, 14:51 | ||||
| Всем привет! У меня тут проблемы с виртуальным наследованием. Есть класс-интерфейс:
Наследую его в классе где я хочу использовать слоты:
Но выдаёт ошибки: undefined reference to `vtable for iProgress' make clean && qmake && make - не помогли. Файлы moc_QMyProgress.cpp и moc_QMyProgress.o создаются. Что делать? Заранее спасибо! |
| Автор: JackYF 23.1.2010, 15:13 |
А ты Progress.h в переменную HEADERS pro-файла добавил? Ну или qmake -project перезапускал? |
| Автор: Elfet 23.1.2010, 16:09 |
| Да, добавил. Перезапускал. |
| Автор: SABROG 23.1.2010, 16:10 | ||
Компилер походу мелкософтовский, т.к. такое
gcc не пропускает. Не должно быть там точек с запятой в конце. Но дело конечно не в этом. |
| Автор: Elfet 23.1.2010, 16:10 | ||
Блин, я тут в документации прочитал:
Что теперь делать? |
| Автор: SABROG 23.1.2010, 16:36 |
| Объясни сначала чего ты пытаешься достичь. Обычно виртуальное наследование используется в качестве некоторого подобия callback функциям. В твоем случае QMyProgress шлет сигнал Progress() по умолчанию. Я так понял ты хочешь предоставить пользователю возможность определить свой метод Set() через наследование, который будет вызываться базовым классом QMyProgress и пользователь может в этом методе делать что-то. Но зачем это нужно, если достаточно обрабатывать сигнал Progress() и делать тоже самое? |
| Автор: Elfet 23.1.2010, 16:49 |
| SABROG, мне нужно это вызывать из не Qt кода. У меня есть некий код на С++ и форма на Qt. Я хочу на ней отобразить прогрессбар и решением. Однако библиотеку привязывать к интерфейсу не хочу - поэтому и пытаюсь сделать через интерфейс. |
| Автор: Elfet 24.1.2010, 14:42 | ||||
Попробовал сделать класс такой структуры:
И тоже ошибка такая же вылезает.
Значит ошибка не в QObject. Что это у меня такое? |
| Автор: andrew_121 24.1.2010, 14:56 |
| опять про moc забыл ;) |
| Автор: Elfet 24.1.2010, 21:12 |
| так у меня же теперь вообще нету Q_OBJECT. - Разве нужен и теперь мок? К тому же я через QtCreator собираю - он должен же сам за моками следить. |
| Автор: andrew_121 24.1.2010, 21:21 |
| если класс производный от QObject - надо |