Консольный ввод с Qt Creator - PullRequest
       27

Консольный ввод с Qt Creator

31 голосов
/ 31 августа 2009

Я разрабатываю очень простое приложение на моем Mac с помощью QtCreator.

Это консольное приложение, и я хочу, чтобы пользователь вводил его имя, а затем я отображал его имя. Вот код:

#include <iostream>

int main(int ArgC, char* ArgV[])
{
    char Name[1000];

    std::cout << "Type your name : ";
    std::cin >> Name;

    std::cout << "Hello " << Name << "\n";
    return 0;
}

При запуске этого приложения с QtCreator строка «Введите ваше имя:» отображается на вкладке «Выходные данные приложения». Но если я наберу какой-нибудь текст и нажму клавишу ввода, ничего не происходит.

Что не так?

Ответы [ 6 ]

29 голосов
/ 22 января 2010

Я нашел решение. С Qt Creator 1.3.0 (в Mac OS X) вот что мне нужно было сделать:

  • Project-> Настройки запуска, отметьте «Запуск в терминале» (спасибо Ropez)
  • Qt Creator-> Предпочтения: Окружение: Общее: Терминал: Мне пришлось проложить весь путь к XTerm. Для моего конфига я должен был поставить /usr/x11/bin/xterm -e.

Теперь все работает отлично!

9 голосов
/ 31 августа 2009

Перейдите в Project -> Run settings и убедитесь, что установлен флажок «Run in Terminal».

КСТАТИ:

std::cin >> Name;

, вероятно, не то, что вы хотите. Он будет читать только один токен (обычно только имя). Вы должны взглянуть на getline или строковую версию .

2 голосов
/ 29 ноября 2011

Решение для Windows.

В файле .pro добавьте:

QT -= core gui
TEMPLATE = app
CONFIG += console

Перейдите в Project -> Run settings и убедитесь, что установлен флажок «Run in Terminal».

2 голосов
/ 17 октября 2011

Решение Джерома является правильным. Хотя я могу дать вам другую альтернативу. Если вы не хотите использовать X11 (по какой-либо причине) в одной и той же позиции (QtCreator-> Preferences-> Environment: General: Terminal), вы можете указать свой путь к приложению Terminal следующим образом: /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal

Наслаждайтесь!

1 голос
/ 20 августа 2012

У меня была проблема "Не удалось запустить эмулятор терминала 'xterm' " на Mac, и я устранил ее, выбрав settings , Environment и нажав кнопку "" Кнопка Reset"рядом с текстовым полем Terminal .

По какой-то причине по умолчанию он просто сказал " xterm -e ", но после сброса он стал абсолютным путем " / usr / X11 / bin / xterm -e " .

Мое консольное приложение запустилось нормально.

1 голос
/ 11 января 2012

Для Qt 2.4.0 для Mac, нажмите на вертикальную вкладку Project, которая находится под «Debug» вдоль той же вертикальной линии, что и Welcome, Edit, Design. В Target-> Run убедитесь, что установлен флажок «Запуск в терминале»!

...