web-dev-qa-db-fra.com

Entrée console avec Qt Creator

Je développe une application très simple sur mon Mac en utilisant QtCreator.

C'est une application console et je veux que l'utilisateur entre son nom, puis j'affiche son nom. Voici le code:

#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;
}

Lorsque vous exécutez cette application avec QtCreator, la chaîne "Tapez votre nom:" s'affiche dans l'onglet "Application Output". Mais si je tape du texte et appuie sur la touche Entrée, rien ne se passe.

Qu'est-ce qui ne va pas ?

31
Jérôme

J'ai trouvé une solution. Avec Qt Creator 1.3.0 (sur Mac OS X), voici ce que je devais faire:

  • Projet-> Exécuter les paramètres, cochez "Exécuter dans le terminal" (merci Ropez)
  • Qt Creator-> Préférences: Environnement: Général: Terminal: J'ai dû mettre tout le chemin vers XTerm. Pour ma config, j'ai dû mettre /usr/x11/bin/xterm -e.

Maintenant, tout fonctionne bien!

29
Jérôme

Allez dans Projet -> Paramètres d'exécution et assurez-vous que "Exécuter dans le terminal" est coché.

BTW:

std::cin >> Name;

n'est probablement pas ce que vous voulez. Il ne lira qu'un seul jeton (généralement uniquement le prénom). Vous devriez jeter un œil à getline , ou à version chaîne .

9
Ropez

La solution Jeromes est la bonne. Bien que je puisse vous donner une alternative différente. Dans le cas où vous ne souhaitez pas utiliser X11 (pour une raison quelconque) dans la même position (QtCreator-> Preferences-> Environment: General: Terminal), vous pouvez donner votre chemin vers l'application Terminal comme ceci:/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal

Prendre plaisir!

2
kostia

Solution pour Windows.

Dans le fichier .pro, ajoutez:

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

Allez dans Projet -> Paramètres d'exécution et assurez-vous que "Exécuter dans le terminal" est coché.

2
Sid

Pour Qt 2.4.0 basé sur Mac, cliquez sur l'onglet vertical Projet, qui se trouve sous le "Débogage" le long de la même ligne verticale que Bienvenue, Modifier, Concevoir. Dans Target-> Run, assurez-vous que "Run in terminal" est coché!

1
user3111525

J'ai eu le problème "Impossible de démarrer l'émulateur de terminal 'xterm'" sur Mac et l'ai résolu en allant dans paramètres, Environnement et en cliquant sur le bouton " Reset "bouton à côté du champ de texte Terminal.

Par défaut, il a simplement indiqué "xterm -e" mais après la réinitialisation, il est devenu un chemin absolu de "/ usr/X11/bin/xterm -e".

Mon application console s'est alors bien déroulée.

1
Ali