[C++] Programowanie w Qt Creator, Aplikacja GUI Qt
Ostatnio zmodyfikowano 2014-05-22 19:51
fabianbanucha Temat założony przez niniejszego użytkownika |
[C++] Programowanie w Qt Creator, Aplikacja GUI Qt » 2014-05-22 19:51:17 Witam, bardzo serdecznie. Potrzebuję pomocy, otóż mam program w wersji konsolowej i nadszedł czas na przerobienie go w wersję okienkową. W wersji konsolowej poruszanie się po menu odbywało się za pomocą wpisywania odpowiednich komend i przechodziło do podmenu. A jak zrobić to w GUI żeby po wciśnięciu przycisku program otwierał tak jakby następne menu(podmenu) i ewentualnie był możliwy powrót do poprzedniego menu? Czy posiada ktoś może jakieś przykłady? Menu w wersji konsolowej porusza się w pętli while, czy da się teraz przyporządkować poszczególne polecenia do przycisków czy jednak powinienem zmienić kod programu? while( !koniec ) { drukujmenu(); cin >> polecenie; if( polecenie == "wczytaj" ) { drukujkomunikat( NPLIKU ); cin >> nazwapliku; drukujkomunikat( wczytajmapezpliku( nazwapliku ) ); } else if( polecenie == "generujMape" ) { drukujkomunikat( NMAPY ); cin >> nazwa; drukujkomunikat( WMAPY ); cin >> tekstA; cin >> tekstB; if( konwertujstringa( tekstA, a ) == NIELICZBA || konwertujstringa( tekstB, b ) == NIELICZBA ) { drukujkomunikat( NIELICZBA ); } else drukujkomunikat( generujmape( nazwa, a, b ) ); } else if( polecenie == "znajdzDroge" ) { drukujkomunikat( STARTXY ); cin >> tekststartY; cin >> tekststartX; if( konwertujstringa( tekststartY, startY ) == NIELICZBA || konwertujstringa( tekststartX, startX ) == NIELICZBA ) { drukujkomunikat( NIELICZBA ); } else { drukujkomunikat( ENTER ); drukujkomunikat( METAXY ); cin >> tekstmetaY; cin >> tekstmetaX; if( konwertujstringa( tekstmetaY, metaY ) == NIELICZBA || konwertujstringa( tekstmetaX, metaX ) == NIELICZBA ) { drukujkomunikat( NIELICZBA ); } else { drukujkomunikat( ENTER ); system( "cls" ); if( sprawdzpole( startX - 1, startY - 1, metaX - 1, metaY - 1 ) ) { drukujkomunikat( wynik = znajdzdroge( startX - 1, startY - 1, metaX - 1, metaY - 1 ) ); if( wynik == OK ) drukujmape(); usunliste(); } else { if( znajdzdroge( startX - 1, startY - 1, metaX - 1, metaY - 1 ) == OK || znajdzdroge( startX - 1, startY - 1, metaX - 1, metaY - 1 ) == BRAKMAPY ) { drukujkomunikat( znajdzdroge( startX - 1, startY - 1, metaX - 1, metaY - 1 ) ); } else { drukujkomunikat( ZLEWSPOLRZEDNE ); } } } } } else if( polecenie == "koniec" ) { usunliste(); koniec = true; } else drukujkomunikat( ZLEPOLECENIE ); }
|
|
« 1 » |