Je n'ai jamais fait de GUI en C++ ... help me please :)
jmp kjm
Messages postés73Date d'inscriptionvendredi 8 avril 2005StatutMembreDernière intervention17 janvier 2012
-
19 oct. 2010 à 22:53
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
30 oct. 2010 à 14:58
Bonjour,
J'ai fait un programme de Bataille Navale en c++ assez complet niveau algorithme mais entièrement en console windows. Ca ne me gêne pas trop mais c'est vrai que c'est pas "évident" pour l'utilisateur de rentrer les coordonnées de ses bateaux et de ses attaques...
Je ne souhaite pas que tout le programme soit sur une superbe fenêtre mais juste que l'étape "placer le bateau" et "choisir une case à attaquer" se fasse par un onClick() sur un échiquier basique, rien de bien compliquer... pour les connaisseurs ^^
J'ai lu des tutos de QT mais je n'arrive pas à faire cela :
- le programme de base en invite de commande
- ouverture d'un échiquier de sélection (GUI) lorsqu'on est à l'étape "placer bateau"
c'est impossible de mélanger une console avec une fenêtre made by QT qui s'ouvre automatiquement et se ferme avec passage de coordonnées sur un évênement onClick() ?
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 20 oct. 2010 à 10:33
Soit tu fais une fenêtre, soit tu fais une console, il faut choisir !
Ce que tu veux faire est néanmoins possible, mais c'est inutilement difficile. Pourquoi ne pas le faire entièrement en mode fenêtré ?
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 20 oct. 2010 à 13:43
Si tu ton programm est bien fait, changer le mode de visionnage (console ou fenêtre) devrait être aisé.
Si tu n'avais pas prévu le cas (si tu n'a pas centralisé en un seul point de ton application les interactions utilisateurs), alors tu va devoir utiliser des astuces pas terribles...
L'une des solutions consiste a demander à ton application fenetrée de manier l'application console. Tu peux émuler une console en fenetré et donc faire ce que tu veux. C'est sale et je le déconseille, mais c'est une solution rapide à ton problème.
Tu peux utiliser QProcess pour faire cela.
Pour toute question non relative à ton sujet, je t'invite à me contacter en message privé.
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 30 oct. 2010 à 14:58
Salut,
Je ne connais pas QT, mais en tout cas Windows gère ça dans tous les sens : Tu peux faire une appli console avec fenêtre et une appli fenêtrée avec une console fort simplement.
Pour avoir une console depuis une appli fenêtrée -> AllocConsole.
Et pour avoir une fenêtre dans une appli console, il faut faire la même chose que dans une appli fenêtrée.
Bon, si on veut de la réactivité côté fenêtre et côté console, faut avoir une boucle de message pour la fenêtre et un "scanf" pour la console en même temps. Ce qui fait deux appels bloquants, impossible sans 2 threads. Ou utiliser PeekMessage plutôt que GetMessage pour les messages. Mais utiliser 2 threads serait plus propres.
Mais dans ton cas, je suis même pas sûr que tu ais besoin d'offrir la possibilité d'interagir sur la fenêtre et la console en même temps.