Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Programowanie w Qt Creator, Aplikacja GUI Qt

Ostatnio zmodyfikowano 2014-05-22 19:51
Autor Wiadomość
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?
C/C++
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 );
   
}
P-110660
« 1 »
  Strona 1 z 1