crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QScintilla + Qt
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 26.1.2009, 0:02
  вот все что я накопал применительно к MDI (переделаный мой SDI-пример):

проблемы компиляции при приведении типа: YSciTEW *child = qobject_cast<YSciTEW *>(windows.at(i)->widget());
решаются сравнительно просто, добавлением макроса Q_OBJECT в объявление класса YSciTEW

Однако далее линковка завершается с ошибкой:
build/objd/mainwindow.o: In function `ZN17QForeachContainerI5QListIP13QMdiSubWindowEEC1ERKS3_':
h:/Qt/4.3.5_shared/include/QtCore/../../src/corelib/kernel/qobject.h:
(.text$_Z12qobject_castIP7YSciTEWET_P7QObject[YSciTEW* qobject_cast<YSciTEW*>(QObject*)]+0x23):
  undefined reference to `YSciTEW::staticMetaObject'
build/objd/yscitew.o: In function `ZN7YSciTEWC2EP7QWidget':
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
build/objd/yscitew.o: In function `ZN7YSciTEWC1EP7QWidget':
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
D:/tempData/mdi/yscitew.cpp:10: undefined reference to `vtable for YSciTEW'
build/objd/yscitew.o: In function `ZN5QListI7QStringE5beginEv':
h:/Qt/4.3.5_shared/include/QtCore/../../src/corelib/tools/qlist.h:
(.text$_ZN7YSciTEW2trEPKcS1_[YSciTEW::tr(char const*, char const*)]+0x1c):
  undefined reference to `YSciTEW::staticMetaObject'
collect2: ld returned 1 exit status


я пологаю виной тому объявление конструктора:
explicit QsciScintillaBase(QWidget *parent = 0);

т.к. граф наследования выглядит следующим образом:
YSciTEW -> QsciScintilla -> QsciScintillaBase -> QAbstractScrollArea -> QFrame -> QWidget -> (QObject and QPaintDevice)

на QsciScintillaBase все останавливается, если я правильно понимаю
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 25.4.2024, 15:57