qt (error: 'class QApplication')

Модератор: Модераторы разделов

Аватара пользователя
kkkggg
Сообщения: 100

qt

Сообщение kkkggg »

#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello, Qt!", 0);
app.setMainWidget(label);
label->show();
return app.exec();
}

Делаю так:
qmake -project qt.cpp
qmake qt.pro
make

и вот что вижу:
qt1.cpp: In function `int main(int, char**)':
qt1.cpp:7: error: 'class QApplication' has no member named 'setMainWidget'
qt1.cpp:10:2: warning: no newline at end of file
make: *** [qt1.o] Ошибка 1

Почему так? Что за ошибка? Посмотрел в документации через kdevelop на предмет QApplication,
там есть строка: virtual void setMainWidget ( QWidget * mainWidget ), получается что в классе QApplication, есть такая функция(setMainWidget). Но судя по ошибке он её не видит... Почему?
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: qt

Сообщение eduard_pustobaev »

kkkggg писал(а):
29.01.2007 22:29
#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello, Qt!", 0);
app.setMainWidget(label);
label->show();
return app.exec();
}

Делаю так:
qmake -project qt.cpp
qmake qt.pro
make

и вот что вижу:
qt1.cpp: In function `int main(int, char**)':
qt1.cpp:7: error: 'class QApplication' has no member named 'setMainWidget'
qt1.cpp:10:2: warning: no newline at end of file
make: *** [qt1.o] Ошибка 1

Почему так? Что за ошибка? Посмотрел в документации через kdevelop на предмет QApplication,
там есть строка: virtual void setMainWidget ( QWidget * mainWidget ), получается что в классе QApplication, есть такая функция(setMainWidget). Но судя по ошибке он её не видит... Почему?


А у меня всё то же самое прекрасно собралось...

В дисгармонии со вселенной.
Спасибо сказали:
mops
Сообщения: 172
ОС: Ubuntu Feisty

Re: qt

Сообщение mops »

Насколько я помню, метод setMainWidget пригоден только для QT3. Убери седьмую строчку.
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: qt

Сообщение eduard_pustobaev »

mops писал(а):
29.01.2007 22:46
Насколько я помню, метод setMainWidget пригоден только для QT3. Убери седьмую строчку.


Ну если под qt4, то и хидеры бы неплохо объявлять соответственно с их стилем...

Код: Выделить всё

 #include QApplication


А то вводите-то в заблуждение, я ж под qt3 компилял...

А ещё для таких вот вещей можно юзать QMainWindow, всякие QDockWidget...
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: qt

Сообщение Liksys »

В Qt4 используется вообще другой подход, как и именование заголовочников (#include <QApplication>)
Может, у тебя Qt4 стоит?
eduard_pustobaev, опередил :)
Спасибо сказали:
mops
Сообщения: 172
ОС: Ubuntu Feisty

Re: qt

Сообщение mops »

Ну если под qt4, то и хидеры бы неплохо объявлять соответственно с их стилем...

Совсем необязательно. Это просто ссылки на обычные qapplication.h, не более того.
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: qt

Сообщение aLexx programmer »

Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: qt

Сообщение eduard_pustobaev »

mops писал(а):
29.01.2007 23:00
Ну если под qt4, то и хидеры бы неплохо объявлять соответственно с их стилем...

Совсем необязательно. Это просто ссылки на обычные qapplication.h, не более того.


"неплохо бы", а не "нужно"

Просто если б было по другому, я б компилил под qt4, а так смотрю - всё пработает...



Стопудово :)
В дисгармонии со вселенной.
Спасибо сказали:
mops
Сообщения: 172
ОС: Ubuntu Feisty

Re: qt

Сообщение mops »


Как я и предполагал ^_^

В убунте сделано красиво - есть qmake-qt3 и qmake-qt4. Тут уж точно не запутаешься :)
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: qt

Сообщение eduard_pustobaev »

mops писал(а):
29.01.2007 23:33

Как я и предполагал ^_^

В убунте сделано красиво - есть qmake-qt3 и qmake-qt4. Тут уж точно не запутаешься :)


У меня в Zenwalk тоже, только сам линки делал :)
В дисгармонии со вселенной.
Спасибо сказали:
Аватара пользователя
aLexx programmer
Сообщения: 985
Статус: Турук-Макто
ОС: Gentoo -> Ubuntu

Re: qt

Сообщение aLexx programmer »

(mops @ Jan 29 2007, в 23:30) писал(а):В убунте сделано красиво - есть qmake-qt3 и qmake-qt4.

Никто не мешает такие симлинки руками сделать :)

UPD: eduard_pustobaev, опередил :D
Спасибо сказали:
Аватара пользователя
eduard_pustobaev
Сообщения: 2629
Статус: Ленивец
ОС: Arch/Debian.

Re: qt

Сообщение eduard_pustobaev »

aLexx programmer писал(а):
29.01.2007 23:37
(mops @ Jan 29 2007, в 23:30) писал(а):
В убунте сделано красиво - есть qmake-qt3 и qmake-qt4.

Никто не мешает такие симлинки руками сделать :)

UPD: eduard_pustobaev, опередил :D


Да, я такой, резкий как понос... :)
В дисгармонии со вселенной.
Спасибо сказали: