crossplatform.ru

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

> Нет доступа к функции класса из скриптов
mva
  опции профиля:
сообщение 19.12.2010, 16:22
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

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




Репутация:   0  


Добрый день всем!

Делаю "обёртку" для класса QDialog, которая делает некоторые функции этого класса доступными в скриптах. Споткнулся на публичной функции QString windowTitle(). Скрипт в упор не хочет его видеть. Если слегка изменить название функции, то работает прекрасно.

class MyDialog : public QDialog {
    Q_OBJECT
public:
    explicit MyDialog(QWidget *parent = 0);
    Q_INVOKABLE void setWindowTitle(QString title) { QDialog::setWindowTitle(title); }  // работает
    Q_INVOKABLE QString windowTitle() { return QDialog::windowTitle(); }                   // НЕ РАБОТАЕТ
    Q_INVOKABLE QString myWindowTitle() { return QDialog::windowTitle(); }              // с измененным названием работает
};


Что не так?

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
mva
  опции профиля:
сообщение 19.12.2010, 23:33
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

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




Репутация:   0  


Спасибо за ответ. Действительно, все оказалось просто - нужно было в скрипте обращаться к windowTitle() как к свойству, а не как к функции. Функцию setWindowsTitle() убрал в дочернем классе. Похоже, что вообще нет необходимости создавать обертку для класса QDialog. Сейчас попробовал - работает и без нее.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 29.4.2024, 3:30