Qt create и QLabel, почему возникает ошибка? - PullRequest
3 голосов
/ 01 апреля 2011

Я использую Qt creator 2.0.1, а при вводе этой строки:

#include <QLabel>

Я получаю следующую ошибку:

QLabel: No such file or directory

Почему это? И как я могу включить метку в этом случае?

UPDATE

@ maverik показал мне, как решить ошибку QLabel, но теперь я получаю эту ошибку:

enter image description here

Программа, которую я пытаюсь запустить:

#include <QtCore/QCoreApplication>
#include <QtGui/QLabel>

int main(int argc, char *argv[]) {
QCoreApplication myapp(argc, argv);
QLabel *label = new QLabel("Hello");
label->show();
return myapp.exec(); 
}

Есть идеи?

Спасибо.

Ответы [ 5 ]

5 голосов
/ 01 апреля 2011

Использование

QApplication

Вместо

QCoreApplication

.

из документации QCoreApplication:

Класс QCoreApplication предоставляет цикл обработки событий для консоли Qt Приложения. Этот класс используется приложения без графического интерфейса для обеспечения их цикл событий. Для приложений без графического интерфейса который использует Qt, там должно быть точно один объект QCoreApplication. Для графического интерфейса приложения, см. QApplication.

Затем включите соответствующие заголовки, и все будет хорошо. QCoreApplication для приложений без графического интерфейса (Консоль).

3 голосов
/ 01 апреля 2011

Убедитесь, что ваш файл проекта Qt содержит

QT += gui
CONFIG += qt

и не содержит

QT -= gui

Я думаю, что это вызывает проблему со связыванием. Тоже думаю

#include <QLabel>

... должно быть достаточно, если файл проекта правильный.

1 голос
/ 01 апреля 2011

Попробуйте это:

#include <QtGui/QLabel>
0 голосов
/ 05 июля 2019

Класс QLabel Виджет QLabel обеспечивает отображение текста или изображения.Подробнее ...

Заголовок: #include qmake: QT + = widgets Наследует: QFrame Список всех членов, включая унаследованных членов Устаревшие члены

*** Просто добавьте виджеты QT + = в.pro

0 голосов
/ 02 апреля 2011

Я думаю, что нашел, где проблема.

Поскольку я использую Qt Creator, и при создании нового проекта я выбрал Qt Console Application вместо Qt Gui Application.

...