Как создать простое консольное приложение Qt в C++?
Я пытался создать простое консольное приложение, чтобы попробовать XML-парсер Qt. Я начал проект в VS2008 и получил этот шаблон:
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
return a.exec();
}
поскольку мне не нужна обработка событий, мне было интересно, могу ли я попасть в беду, если я пренебрегаю созданием QCoreApplication и запуском цикла событий. В документах говорится, что это рекомендуется в большинстве случаев.
ради любопытства, однако, мне интересно, как я могу сделать какую-то общую задачу выполнить на цикл событий, а затем завершить работу приложения. Я не смог найти соответствующий пример в google.
6 ответов:
вот один простой способ структурировать приложение, если вы хотите запустить цикл событий.
// main.cpp #include <QtCore> class Task : public QObject { Q_OBJECT public: Task(QObject *parent = 0) : QObject(parent) {} public slots: void run() { // Do processing here emit finished(); } signals: void finished(); }; #include "main.moc" int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // Task parented to the application so that it // will be deleted by the application. Task *task = new Task(&a); // This will cause the application to exit when // the task signals finished. QObject::connect(task, SIGNAL(finished()), &a, SLOT(quit())); // This will run the task from the application event loop. QTimer::singleShot(0, task, SLOT(run())); return a.exec(); }
Не забудьте добавить
CONFIG += consoleфлаг в файле qmake .pro.
для остальных это просто использование некоторых классов Qt. Один из способов его использования-создание кросс-платформенных процессов.
вам не нужно
QCoreApplicationвообще, просто включите свои объекты Qt, как и другие объекты, например:#include <QtCore> int main() { QVector<int> a; // Qt object for (int i=0; i<10; i++) { a.append(i); } /* manipulate a here */ return 0; }
мне удалось создать простую консоль "hello world" с Qt Creator
используется creator 2.4.1 и QT 4.8.0 на windows 7
два способа сделать это
Обычный C++
сделать следующее
- File-новый файл project
- в разделе Проекты выберите : другой проект
- выберите " простой проект C++"
- вводим имя проекта 5.Цели выберите рабочий стол "отметьте его"
- управления проектами просто нажмите кнопку Далее
- вы можете использовать команды c++ как обычный c++
или
консоли Qt
- File-новый файл project
- в разделе Проекты выберите : другой проект
- выберите консольное приложение QT
- цели выберите Desktop 'tick it'
- управление проектами просто нажмите кнопку Далее
- добавить следующие строки (Все C++ включает в себя вам нужно)
- добавить "#включить 'библиотеки' "
- добавить "используя пространство имен std;"
- после QCoreApplication a(int argc, cghar *argv[]) 10 добавьте переменные и свой программный код..
пример: для консоли QT "hello world"
file-новый файл проекта 'имя проекта'
другие проекты-консольное приложение QT
цели выберите "рабочий стол"
управление проектами - далее
код:
#include <QtCore/QCoreApplication> #include <iostream> using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); cout<<" hello world"; return a.exec(); }ctrl-R для запуска
компиляторы, используемые для выше MSVC 2010 (Qt SDK), и minGW(Qt SDK)
надеюсь, это поможет кому-то
поскольку я только недавно начал использовать QT, а также искал Www для получения информации и примеров, чтобы начать работу с простыми примерами, которые все еще ищут...
была та же проблема. нашел несколько видео на YouTube. Итак, вот еще более простое предложение. Это весь код, который вам нужен:
#include <QDebug> int main(int argc, char *argv[]) { qDebug() <<"Hello World"<< endl; return 0; }приведенный выше код исходит из Qt5 учебник: создание простого консольного приложения с помощью
Доминик Тибо
Comments