Название: Свойства - ошибка компиляции Отправлено: Alex_cs_gsp от Май 13, 2010, 10:58 Начал изучать Qt, не могу понять, что за ошибка странная возникает
Код: #include <QObject> Ошибка, D:/QT/Second/main.cpp:12: error: no matching function for call to 'CMyClass::setProperty(const char [5], const char [12])' e:\AllPrograms\QT\qt\include/QtCore/../../src/corelib/kernel/qobject.h:235: note: candidates are: bool QObject::setProperty(const char*, const QVariant&) Спасибо. Название: Re: Свойства - ошибка компиляции Отправлено: m_ax от Май 13, 2010, 11:29 Попробуйте заменить:
Код на Код
Ну и подинклудить его разумеется.. (QVariant, в смысле) Название: Re: Свойства - ошибка компиляции Отправлено: Alex_cs_gsp от Май 13, 2010, 11:33 Заменял, не помогает. Пример с книги, да и с COM библиотекой работал (правда не из QT) уже все перепробовал. Чувствую, что где-то очень элементарная ошибка, но какая?
Название: Re: Свойства - ошибка компиляции Отправлено: m_ax от Май 13, 2010, 11:39 Да всё просто, не надо трагедий ;D
cmayclass.h Код
main.cpp Код
И всё работает)) А теперь найдите 10 отличий)) P.S. на самом деле, можно писать просто: Код
QVariant поймёт)) Название: Re: Свойства - ошибка компиляции Отправлено: Alex_cs_gsp от Май 13, 2010, 11:47 У меня заработал со старым вариантом, но когда я кроме #include <QObject> еще подключил #include <QtGui> в заголовочный файл где определен класс. Если убрать #include <QtGui> то снова не работает - причина в этом. Какой-то библиотеки не хватает для работы со свойствами, которая в гуи используется?
Какой смысл явно вызывать конструктор для QVariant?? Название: Re: Свойства - ошибка компиляции Отправлено: kibsoft от Май 13, 2010, 11:48 Я извиняюсь, но какой смысл использовать setPropery, если можно просто использовать функции setName и getName?
Вот из ассистента: Цитировать QPushButton *button = new QPushButton; QObject *object = button; button->setDown(true); object->setProperty("down", true); Название: Re: Свойства - ошибка компиляции Отправлено: Alex_cs_gsp от Май 13, 2010, 11:50 Для самообучения - я с QT только учусь.
Название: Re: Свойства - ошибка компиляции Отправлено: kibsoft от Май 13, 2010, 11:53 Ну а с документацией как? Так все есть и очень понятно и четко к тому же. Или плохо с английским?
Название: Re: Свойства - ошибка компиляции Отправлено: m_ax от Май 13, 2010, 11:55 Вот исходники..
Название: Re: Свойства - ошибка компиляции Отправлено: kibsoft от Май 13, 2010, 11:57 Цитировать Не хватает QString)) Так QString в QtCore же..Название: Re: Свойства - ошибка компиляции Отправлено: m_ax от Май 13, 2010, 12:05 Цитировать Так QString в QtCore же.. Млин, QVariant имелось в виду.. Он конечно тоже в QtCore, но тогда нужно инклудить#include <QtCore> а не #include <QtCore/QtCoreApplication> Название: Re: Свойства - ошибка компиляции Отправлено: Alex_cs_gsp от Май 13, 2010, 12:08 Если подключать #include <QString> ошибка не пропадает. Если бы была причина в этом, тогда была бы совсем другая ошибка- неизвестный идентификатор.... Действительно нужно в main не #include <QtGui/QApplication>, а #include <QtGui> и все. Спасибо за помощь!
Название: Re: Свойства - ошибка компиляции Отправлено: m_ax от Май 13, 2010, 12:12 Цитировать Действительно нужно в main не #include <QtGui/QApplication>, а #include <QtGui> и все. Да можно писать и #include <QtGui/QtApplication> но тогда добавте просто #include <QVariant> |