Найти тему
Glat

Incomplete type 'Qlabel'. Qt/C++ Linux. Ошибка при инициализации класса через загаловочный файл

Дисклеймер: на момент написания статьи автор учиться в университете и не претендует на звание Мастера Джедая разработки. В то же время хотелось бы поделиться опытом для таких же начинающих кодеров

Читал я книгу "Жасмин Бланшет, Марк Саммерфилд - Qt 4. Программирование GUI на C++", чтобы написать свою первую курсовую и наткнулся на пример

Объявляем экземпляры класса с помощью метода предварительного объявления в заголовочном файле.
Объявляем экземпляры класса с помощью метода предварительного объявления в заголовочном файле.
Добавляем их в наш класс в том же заголовочном файле
Добавляем их в наш класс в том же заголовочном файле

Проводим манипуляции в .cpp
Проводим манипуляции в .cpp

И тут начинается проблема и лично я могу это связать только с тем,что книга написана для 4 версии Qt ,а я на данный момент сижу на 5

Как только мы начинаем проводить какие-либо действия с нашuими указателями в *.cpp файле,то мы видим ошибку allocation of incomplete type 'QLabel' forward delaration of 'QLabel' и других классов

Окно  Qt Creator
Окно Qt Creator

Решение: заменить include<QDialog> на <QtWidgets>

-5

абсолютно тот же заголовочный файл что и выше,но с измененным include
абсолютно тот же заголовочный файл что и выше,но с измененным include

И теперь наш *.cpp файл выглядит вот так

не
не

Конечно,я не претендую ,что это правильно и единственное решение ,рад буду выслушать правильное от знающих людей По крайней мере мое решение позволит таким же как и я студентам не впасть в депрессию (а может и нет)