Russian Qt Forum
Ноябрь 23, 2024, 17:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QQmlExtensionPlugin::baseUrl -> QQuickItem::baseUrl  (Прочитано 1964 раз)
Отражение луны
Гость
« : Май 01, 2016, 05:46 »

Добрый день.
Как уже наверное понятно из названия - что-то прям никак не могу понять, как baseUrl из плагина передать непосредственно в регистрируемый мной класс-потомок QQuickItem.
Или как из этого класса-потомка достать объект плагина, к которому он принадлежит, чтобы вызвать этот метод.
Вроде все должно быть очень просто, но не вижу между ними абсолютно никакой связи.
Записан
Отражение луны
Гость
« Ответ #1 : Май 01, 2016, 17:20 »

Разобрался, возможно решение немного кривое, но мне оно подошло даже больше.
Код:
void MyPlugin::initializeEngine(QQmlEngine *engine, const char *uri) {
    engine->rootContext()->setContextProperty("myPlugin", this);
}
QString MyPlugin::getBaseUrl() {
    return this->baseUrl().toString();
}
Ну и соотвественно в qml окружении мы можем легко вызвать эту функцию и узнать директорию, из которой был загружен плагин.
Цитировать
myPlugin.getBaseUrl()

Если есть идеи как это можно сделать иначе - будет интересно узнать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.139 секунд. Запросов: 21.