crossplatform.ru

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

> Доступ к основному окну из плагина
exmagistr
  опции профиля:
сообщение 30.6.2009, 12:45
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 3
Регистрация: 30.6.2009
Пользователь №: 867

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всем доброго времени суток!
Хочу написать приложение, расширяемое плагинами, в том числе дать доступ плагинам к элементам интерфейса основного окна, например к элементам ввода, меню и т.п. Во время выполнения, в момент вызова метода плагина, программа валится с ошибкой.
Для тестового примера:
Метод плагина:
void Plugin::writeString(MainWindow* win)
{
    win->getEditor()->setText("Hello!");
}

где win->getEditor() возвращает указатель на элемент QLineEdit основного окна MainWindow. Текст ошибки:
symbol lookup error: /home/proffa/qt/testplugin/bin/plugin/libplugin.so: undefined symbol: _ZN10MainWindow9getEditorEv

Кто нибудь может подсказать, что не так сделано, и возможно ли вообще реализовать подобную идею? Может как-нидь по другому, не через плагины? Заранее спасибо.
P.S.: работаю под Ubuntu 9.04, Qt 4.5.1, исходники тестового примера прилагаются

Цитата(exmagistr @ 30.6.2009, 13:41) *
исходники тестового примера прилагаются

не прилагаются :(
выложил здесь: http://narod.ru/disk/10435014000/testplugin.zip.html
Причина редактирования: используй тэг code
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
SABROG
  опции профиля:
сообщение 30.6.2009, 14:16
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Вот так объяви метод и всё будет работать:

    virtual QLineEdit* getEditor();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.1.2025, 6:02