GUI står for Graphical User Interface. Disse er en viktig del av moderne programvareutvikling. Grafiske brukergrensesnitt lar utviklere lage applikasjoner som brukerne enkelt kan samhandle med. C++ er et kraftig programmeringsspråk som er mye brukt i utviklingen av komplekse programvaresystemer. I denne artikkelen vil vi utforske hvordan du bygger GUI-er i C++ ved hjelp av ulike biblioteker og rammeverk.
Hva er en GUI?
Et grafisk brukergrensesnitt, eller GUI, lar brukere samhandle med en datamaskin ved hjelp av visuelle elementer som knapper, menyer og dialogbokser. GUIer gir et brukervennlig og intuitivt grensesnitt som lar brukere utføre oppgaver raskt og effektivt. De er mye brukt i applikasjoner som nettlesere, mediespillere og kontorpakker.
Hvorfor C++ for GUI-utvikling?
C++ er et kraftig programmeringsspråk. Ved hjelp av C++ kan vi utvikle komplekse programvaresystemer, inkludert GUIer. Noen av grunnene til at C++ er et populært valg for GUI-utvikling inkluderer:
Biblioteker og rammeverk for C++ GUI-utvikling
Det er så mange biblioteker og rammeverk tilgjengelig for C++ GUI-utvikling. La oss ta en titt på noen av de mest populære alternativene.
1. Qt
Qt er det mest populære GUI-verktøysettet med åpen kildekode. Det er mye brukt for å utvikle grafiske brukergrensesnitt-applikasjoner på tvers av plattformer. Det gir et omfattende sett med verktøy og biblioteker for å bygge moderne GUI-applikasjoner, inkludert støtte for berørings- og bevegelsesbaserte input, avansert grafikk og multimedia.
strengsammenkobling java
Program 1:
#include #include int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); char myoutput [60]; int stringlength, x=4, y=10; stringlength = sprintf(myoutput, '%d plus %d equals %d', x, y, x+y); printf ('[%s] is a string that is %d characters long. ', myoutput, stringlength); return a.exec(); }
Produksjon:
Forklaring
Dette C++-programmet bruker sprintf-funksjonen til å formatere en streng og printf-funksjonen til å skrive ut den formaterte strengen til konsollen. Den erklærer noen variabler, tildeler verdier til dem, formaterer en streng og sender den ut til konsollen.
2. wxWidgets
wxWidgets er et annet populært GUI-verktøysett på tvers av plattformer. Det gir et sett med verktøy og biblioteker for å bygge moderne GUI-applikasjoner. Den støtter et bredt spekter av plattformer, inkludert Windows, Linux og macOS.
Program 2:
#include 'wx/wx.h' #include 'wx/wxprec.h' #include 'hello.h'IMPLEMENT_APP(HelloWorldApp)bool HelloWorldApp::OnInit() { wxFrame *frame = new wxFrame((wxFrame*) NULL, -1, _T('Hello wxWidgets World')); frame->CreateStatusBar(); frame->SetStatusText(_T('Hello World')); frame->Show(true); SetTopWindow(frame); return true; }
Produksjon:
Forklaring
Dette er en grunnleggende wxWidgets-kode som lager et vindu med en statuslinje og viser teksten 'Hello World'. HelloWorldApp-klassen er definert for å implementere applikasjonen. OnInit()-funksjonen initialiserer applikasjonen og oppretter en ny ramme med den angitte tittelen. CreateStatusBar()-funksjonen oppretter en statuslinje nederst i vinduet, og SetStatusText() angir at teksten skal vises i statuslinjen. Til slutt viser funksjonen Show() vinduet, og SetTopWindow() setter rammen som vinduet på øverste nivå.
int i streng
3. FLTK
Det står for Fast Light Toolkit. Det er et GUI-verktøysett på tvers av plattformer. Det gir et lett og raskt sett med verktøy og biblioteker for å bygge GUI-applikasjoner. Det er et populært valg for byggeapplikasjoner som krever et lite fotavtrykk eller har strenge ytelseskrav.
Program 3:
#include #include #include using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, 'Hello, World!'); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); }
Produksjon:
Forklaring
Denne koden bruker fltk-biblioteket til å lage et vindu med en merket boks-widget som sier 'Hello, World!'. Boksen har en fet kursiv skrift, en størrelse på 36 og en skyggeetikett. Vinduet har en størrelse på 300 x 180 piksler og vises på skjermen ved hjelp av show()-funksjonen. Run()-funksjonen starter hovedhendelsesløkken for å håndtere brukerinndata og holder vinduet synlig til brukeren lukker det.
4. SDL
Det står for Simple DirectMedia Layer. Det er et multimediabibliotek på tvers av plattformer. Den gir et sett med verktøy og biblioteker for å bygge spill og multimedieapplikasjoner. Den inkluderer lyd, video, inngangsenheter og nettverksstøtte, noe som gjør det til et allsidig alternativ for å bygge multimediarike GUI-applikasjoner.
Program 4:
#include #include #include int main(int argc, char *argv[]) { // returns zero on success else non-zero if (SDL_Init(SDL_INIT_EVERYTHING) != 0) { printf('error initializing SDL: %s ', SDL_GetError()); } SDL_Window* win = SDL_CreateWindow('GAME', SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1000, 1000, 0); while (1) ; return 0; }
Produksjon:
Forklaring
Dette er et grunnleggende SDL-program skrevet på C-språk. Den initialiserer SDL-biblioteket ved å bruke SDL_Init(), oppretter et vindu ved hjelp av SDL_CreateWindow(), og går inn i en uendelig løkke ved å bruke while(1). Løkken gjør ikke noe og venter bare på at brukeren lukker vinduet eller avslutter programmet. Hvis det er noen feil ved initialisering av SDL, skrives det ut en feilmelding ved å bruke printf()-funksjonen. Programmet gir 0 ved suksess.
Konklusjon
C++ gir et kraftig og effektivt programmeringsspråk for utvikling av GUI-applikasjoner. Den har et bredt utvalg av biblioteker og rammeverk. Utviklerne har mange alternativer når det gjelder å bygge applikasjonene sine. Enten utvikleren velger Qt, wxWidgets, FLTK eller SDL, kan de lage rike og moderne GUI-applikasjoner som kjører på ulike plattformer.