Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: ioann от Сентябрь 03, 2010, 14:42



Название: Простой пример
Отправлено: ioann от Сентябрь 03, 2010, 14:42
Добрый день!

Уважаемые, хотел попробовать написать примитивное ГУИ:

Код:
#include <QGui>

// Как-бы, объявление класса (прототип)
class main_window: public QWidget
{
     Q_OBJECT
     
 public:
     main_window(QWidget *parent = 0);

 private:
};

// А вот сама реализация класса главного окна (Constructor)
// Как бы, ничего сложного... Просто в конструкторе изменяем заголовок окна.
main_window::main_window(QWidget *parent) : QWidget(parent)
{
        setWindowTitle("Hello Qt!");
}


// точка входа в программу...
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    main_window *window = new main_window;
    window->show();
   
    return app.exec();
}   


Не работает!!! Компилятор выдаёт ошибки! Заметил следующее: если не определять собственные классы, то всё работает. Как только хочу использовать свой класс, то получается трабла...


Название: Re: Простой пример
Отправлено: RedDog от Сентябрь 03, 2010, 14:56
какие ошибки?
Код:
#include <QApplication> 
в main.cpp есть?


Название: Re: Простой пример
Отправлено: Sancho_s_rancho от Сентябрь 03, 2010, 15:04
Цитировать
#include <QGui>
Шо за фигня в первой же строчке?

Вывод компилятора вам религия не позволяет показать?


Название: Re: Простой пример
Отправлено: MoPDoBoPoT от Сентябрь 03, 2010, 15:58
1. #include <QtGui>
2. Весь исходный код реализован в одном файле "main.cpp"? Если да, то в конец надо добавить #include "main.moc", после чего сделать qmake && make. Но вообще это не есть хорошо, классы лучше выносить в отдельные файлы.


Название: Re: Простой пример
Отправлено: ioann от Сентябрь 04, 2010, 08:20
<QtGui> Это я на форуме о печатался, извиняюсь...

Да, всё писал в одном файле main.cpp. Оказывается, когда реализовываешь свой класс, то необходимо описывать класс в файлах заголовках .h). #include "main.moc" решил проблему.
Спасибо.