2009-08-31 2 views
26

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

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

#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, строка «Введите ваше имя:» отображается на вкладке «Output Application». Но если я наберу текст и нажимаю клавишу ввода, ничего не происходит.

Что случилось?

ответ

23

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

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

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

+1

В моей версии QTcreator (3.6.0) вкладка «Проект» представляет собой вертикальную вкладку «Проекты» (с «s»). Вы можете найти его слева от главного окна. Что касается настроек и конечного пути, то он находится в разделе «Инструменты»> «Окружающая среда» (вкладка «Вертикальная вкладка»)> «Система» (вкладка «Горизонтальная вкладка») » –

7

Перейти к проекту -> Запустить настройки и убедиться, что установлен флажок «Запустить в терминале».

КСТАТИ:

std::cin >> Name; 

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

+0

Спасибо за ваш ответ. Я проверил флажок «Запустить в терминале», но теперь у меня есть эта проблема при запуске моего приложения: Не удается запустить эмулятор терминала «xterm». Любая идея? –

+0

ОК, я никогда не использовал Qt Creator на Mac, только Linux. «xterm» - это имя эмулятора терминала по умолчанию для Linux. Вероятно, вам нужно изменить его на «терминал» или что-то в этом роде. Опять же, я не знаком с Mac. Вы найдете это в разделе Инструменты -> Параметры -> Среда. – Ropez

+0

FYI, я получил ту же ошибку «Не могу запустить эмулятор терминала xterm». На моей машине Fedora 15 мне пришлось сделать «sudo yum install xterm». Теперь, когда вы запускаете свой код, qtcreator может открыть xterm и быть успешным. –

2

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

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

+1

В Qt Creator 2.6.x это решение создает не менее 3 окон терминала, и они не всплывающие над другими окнами, поэтому вам нужно щелкнуть значок «Док», чтобы увидеть содержимое. – 2013-03-06 05:58:14

2

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

В .pro файле оных:

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

Перейти к Project -> Выполнить настройки, и убедитесь, что "Запустить в терминале" проверяется.

1

Для Mac Qt 2.4.0 нажмите на вкладку «Вертикальная проекция», расположенная под «Debug» по той же вертикальной линии, что и «Добро пожаловать», «Редактировать», «Дизайн». В Target-> Run убедитесь, что «Run in terminal» отмечен!

1

Я имел «Не удается запустить эмулятор терминала„Xterm“» проблемы на Mac и установил ее, перейдя в настройки, Environment и нажав кнопку «Reset» кнопку рядом с терминала текстовое поле.

По какой-то причине, по умолчанию он просто сказал «Xterm -e», но после перезагрузки он стал абсолютным путь «/USR/X11/bin/XTerm -e».

Затем мое консольное приложение отлично работает.