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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: пустое окно QLabel  (Прочитано 5378 раз)
yngwie
Гость
« : Июнь 13, 2009, 22:08 »

Всем привет вот мой код. Подскажите почему при показе QLabel появляется пустое окно без текста "My Name":
Код
C++ (Qt)
#include <QtGui>
 
class MyClass : public QObject
{
Q_OBJECT
Q_PROPERTY(char* name READ GetName WRITE SetName)
public:
MyClass(QObject *obj = NULL);
char* GetName()const;
void SetName(char*);
private:
char *szName;
};
 
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
MyClass *mc = new MyClass;
QLabel *lbl = new QLabel(mc->property("name").toString());
lbl->show();
 
return app.exec();
}
 
MyClass::MyClass(QObject *obj) : QObject(obj), szName("My Name")
{;
}
 
char* MyClass::GetName()const
{
return szName;
}
 
void MyClass::SetName(char* name)
{
}
 
#include "main.moc"
 
Записан
BRE
Гость
« Ответ #1 : Июнь 13, 2009, 22:29 »

Всем привет вот мой код. Подскажите почему при показе QLabel появляется пустое окно без текста "My Name":
А ты посмотри, что тебе в консоль выводиться.
Записан
yngwie
Гость
« Ответ #2 : Июнь 13, 2009, 22:30 »

ничего не выводится Я в VS 2008 пишу
Записан
BRE
Гость
« Ответ #3 : Июнь 13, 2009, 22:32 »

ничего не выводится Я в VS 2008 пишу
Смеющийся Ну если в VS 2008.... то я процитирую:

Цитировать
QMetaProperty::read: Unable to handle unregistered datatype 'char*' for property 'MyClass::name'
Записан
yngwie
Гость
« Ответ #4 : Июнь 13, 2009, 23:08 »

несоответствие типов?
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #5 : Июнь 14, 2009, 00:26 »

"unregistered datatype" в мета-объектной системе Qt.
Записан

Юра.
yngwie
Гость
« Ответ #6 : Июнь 14, 2009, 08:35 »

вместо char* нужно QString использовать?
Записан
BRE
Гость
« Ответ #7 : Июнь 14, 2009, 08:53 »

вместо char* нужно QString использовать?
Да. В Qt это штатный класс для работы с текстом.
Записан
yngwie
Гость
« Ответ #8 : Июнь 14, 2009, 09:00 »

спасибо все получилось, а так вообще есть замечания по коду?, только начал изучать Qt поэтому хочу идти в правильном направлении.
Записан
Rcus
Гость
« Ответ #9 : Июнь 14, 2009, 09:06 »

А зачем использовать свойства в данном случае? Улыбающийся
Записан
yngwie
Гость
« Ответ #10 : Июнь 14, 2009, 09:07 »

а делаю пример из книги
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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