Цитата(DIMEDROLL @ 9.11.2009, 12:08)
Я так подозреваю что этот плагин надо скомпилить
это-то само собой, иначеб я его на виджет положить не смог.
SABROG, а вот это сейчас попробую. Вообще несколько некузяво это место в справке сделано, как плагин сделать написано, а как использовать нет.
-----------
Любопытно.
Для данного конкретного плагина понадобилось добавить в pro-файл такие строчки:
# --- WorldTimeClock plugin ---
INCLUDEPATH += $$[QT_INSTALL_EXAMPLES]/designer/worldtimeclockplugin
QMAKE_LIBDIR += $$[QT_INSTALL_PLUGINS]/designer
LIBS += -lworldtimeclockplugin
После успешной компиляции программы (по умолчанию в отладчном режиме), программа не запускается требует dll'ку - логично. Но для меня было неожиданно, что её можно положить прямо к бинарю (В виндовозе разумеется). Я пологал, что нужно соблюсти правила по сохранению иерархии каталогов (как в случае с другими плагинами).
ЗАПУСКАЮ - програ аварийно завершается без сообщений. Запускаю через командную строку - пишет следующее:
L:\Repository\TramPamPam>app.d
QWidget: Must construct a QApplication before a QPaintDevice
abnormal program termination
L:\Repository\TramPamPam>
компилю прогу в релизе, запускается, часики идут.
Вопрос, почему в отладочном режиме нарушился порядок создания объектов, вместо какой-нибудь ругани о несовместимости dll'ки с приложением (ну там символы не те или подобное)?
-----------
накопал косячёк в примере плагина, никак не удавалось собрать отладочную его версию.
Не работала функция
$$qtLibraryTarget(...)РЕШЕНИЕ:
оказывается запись
TEMPLATE = lib должна предшествовать этой фунции, только тогда к имени цели добавится буковка
dвобщем вот такой pro-файл у меня получился в конце концов:
# --- WorldTimeClock plugin ---
INCLUDEPATH += $$[QT_INSTALL_EXAMPLES]/designer/worldtimeclockplugin
QMAKE_LIBDIR += $$[QT_INSTALL_PLUGINS]/designer
CONFIG (debug, debug|release) {
LIBS += -lworldtimeclockplugind
}else{
LIBS += -lworldtimeclockplugin
}
функция
$$qtLibraryTarget(...) к сожалению работает только для
TEMPLATE = lib