Russian Qt Forum

Qt => Вопросы новичков => Тема начата: SeerRus от Декабрь 17, 2013, 22:43



Название: Первая программа вида Hello World
Отправлено: SeerRus от Декабрь 17, 2013, 22:43
Следуя малость устаревшей книге Бланшет Саммерфилд (QT 4 Программирование GUI на C++) попробовал на QT 5.2 создать программу

Код main.cpp:

Код:
#include <QCoreApplication>
#include <QtWidgets/QLabel>
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    QString str( "Hello QT!" );
    QLabel * ctLabel = new QLabel( str );
    ctLabel->show();
//    delete ctLabel;

    return a.exec();
}

HelloQT.pro:

Код:
QT       += core

QT       -= gui

QT       += widgets

TARGET = HelloQT
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

Собирается, при запуске вылетает с сообщением:
Код:
QWidget: Cannot create a QWidget without QApplication

Прошу указать ошибку.


Название: Re: Первая программа вида Hello World
Отправлено: SeerRus от Декабрь 17, 2013, 22:51
Проблема решена заменой QCoreApplication на QApplication
После этого начало выдавать другую ошибку (SetGeometry: Unable to set geometry ...), но метка отображается теперь



Название: Re: Первая программа вида Hello World
Отправлено: kambala от Декабрь 17, 2013, 23:03
delete ctLabel; — а зачем эта отсебятина?


Название: Re: Первая программа вида Hello World
Отправлено: SeerRus от Декабрь 17, 2013, 23:11
эта отсебятина уже удалена, забыл из этого кода убрать


Название: Re: Первая программа вида Hello World
Отправлено: carrygun от Декабрь 18, 2013, 04:18
После этого начало выдавать другую ошибку (SetGeometry: Unable to set geometry ...), но метка отображается теперь

Там не ошибка, а предупреждение. Дело в том, что текст "Hello world" занимает мало места, но ОС не может создать окно с такой шириной.