Russian Qt Forum
Ноябрь 26, 2024, 19:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Первая программа вида Hello World  (Прочитано 3446 раз)
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

Прошу указать ошибку.
« Последнее редактирование: Декабрь 17, 2013, 23:12 от SeerRus » Записан
SeerRus
Гость
« Ответ #1 : Декабрь 17, 2013, 22:51 »

Проблема решена заменой QCoreApplication на QApplication
После этого начало выдавать другую ошибку (SetGeometry: Unable to set geometry ...), но метка отображается теперь

Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Декабрь 17, 2013, 23:03 »

delete ctLabel; — а зачем эта отсебятина?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
SeerRus
Гость
« Ответ #3 : Декабрь 17, 2013, 23:11 »

эта отсебятина уже удалена, забыл из этого кода убрать
Записан
carrygun
Гость
« Ответ #4 : Декабрь 18, 2013, 04:18 »

После этого начало выдавать другую ошибку (SetGeometry: Unable to set geometry ...), но метка отображается теперь

Там не ошибка, а предупреждение. Дело в том, что текст "Hello world" занимает мало места, но ОС не может создать окно с такой шириной.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 23.