LINUX.ORG.RU

QT4 и ui файлы


0

0
как подлючить UI файл?

Прочитал что надо так:


#include <QApplication>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <QtGui>

int main (int argc, char ** argv)
{
QApplication app(argc,argv);
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF8"));

QFile file("testui.ui");
file.open(QFile::ReadOnly);
QWidget widget = loader.load(&file, this);
file.close();
widget->show ();

return app.exec ();
}

qmake -project && qmake && make


4 -I. -I. -I. -o main.o main.cpp
main.cpp: In function ‘int main(int, char**)’:
main.cpp:14: error: ‘loader’ was not declared in this scope
main.cpp:14: error: invalid use of ‘this’ in non-member function
main.cpp:16: error: base operand of ‘->’ has non-pointer type ‘QWidget’
make: *** [main.o] Ошибка 1

Только начал осваивать QT, по докам Trolltech и форумам...
★★★★★
Это... а кто объявлять будет:
QUiLoader loader;
В сообщениях об ошибке по мойму ясно написано....
Fastman
()
Ответ на: комментарий от Fastman
добавил, также добавил #include <QUiLoader> после #include <QtGui> , если это важно

main.cpp:6:21: error: QUiLoader: Нет такого файла или каталога
main.cpp: In function ‘int main(int, char**)’:
main.cpp:12: error: ‘QUiLoader’ was not declared in this scope
main.cpp:12: error: expected `;' before ‘loader’
main.cpp:15: error: ‘loader’ was not declared in this scope
main.cpp:15: error: invalid use of ‘this’ in non-member function
main.cpp:20: error: ‘class QWidget’ has no member named ‘findObject’
make: *** [main.o] Ошибка 1

это значит что в Debian забыли положить QUiLoader.h или тут что-то другое?
sniper21 ★★★★★
() автор топика
Ответ на: комментарий от sniper21
Это значит что у вас фимоз головного мозга.
Документация QT - почти эталон.
Если с такими простыми вещами не разобрался с документацией к QT,
то лучше учиться читать и понимать буквы заново.
Fastman
()
ui-файлы лучше вообще не подключать, а пропускать через uic
Amp ★★★
()
Ответ на: комментарий от Fastman
>Если с такими простыми вещами не разобрался с документацией к QT, то лучше учиться читать и понимать буквы заново.

а нельзя было без всего этого просто сказать, что я сделал не так?

sniper21 ★★★★★
() автор топика
Ответ на: комментарий от sniper21
Слушай. ты что правда не можешь прочитать доки по QT? там всё написано. И то что UiLoader объявлен в другом модуле Qt и то что чтобы его подключить надо собрать проект по-другому или дописать CONFIG += uitools в файл проекта.
teferiincub
()
Ответ на: комментарий от teferiincub
>И то что UiLoader объявлен в другом модуле Qt и то что чтобы его подключить надо собрать проект по-другому или дописать CONFIG += uitools в файл проекта.

У меня стойкое чувство что я не те доки читаю....

где это написано?

sniper21 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.