Задать вопрос
EgoRusMarch
@EgoRusMarch
C++ Developer

Qt. Зачем по умолчанию создается производный класс?

Я только начал изучать Qt Framework. Создал "Приложение Qt Widgets"
d8242c36afb94d80a92f4ba78f9665a1.png
И по умолчанию добавился производный класс от QWidget.
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
    class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

    private:
        Ui::Widget *ui;

    public:
        explicit Widget(QWidget *parent = 0);
        ~Widget();
};

#endif // WIDGET_H

Он обязателен или как?

Я закомментировал заголовочный файл и определения методов, создал объект от QWidget, вместо производного Widget. Запустилось все точно также вроде.

Читаю "Qt 5.3. Профессиональное программирование на С++. Макс Шлее"
Там примеров мало и не очень удачные. Может посоветуете, если есть, что-то еще, плюс к этому.
  • Вопрос задан
  • 374 просмотра
Подписаться Оценить 2 комментария
Решения вопроса 3
Zifix
@Zifix Куратор тега Qt
Barbatum
Работать будет, почему нет. А вот когда вы захотите его сколь-нибудь модифицировать — без наследования не обойтись.
Ответ написан
@koronabora
Человек
Смысл простой. Если не создавать класс - наследник, то никак нельзя будет определить собственные методы для работы с gui, перехватывать события и прочее. Вообще, это просто удобный способ встроить свой функционал.
Ответ написан
Комментировать
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Попробуйте создать сначала без creator'а и собрать "вручную", т.е. в консоли, используя qmake. Из годных книг могу ещё посоветовать "Боровский А. - Qt4.7+. Практическое программирование на C++ (2012)", информация немного устарела, но тем не менее прочитать стоит.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы