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 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.