logo

C++ GUI

GUI står för Graphical User Interface. Dessa är en väsentlig del av modern mjukvaruutveckling. Grafiska användargränssnitt tillåter utvecklare att skapa applikationer som användare enkelt kan interagera med. C++ är ett kraftfullt programmeringsspråk som används flitigt i utvecklingen av komplexa mjukvarusystem. I den här artikeln kommer vi att utforska hur man bygger GUI:er i C++ med hjälp av olika bibliotek och ramverk.

Vad är ett GUI?

Ett grafiskt användargränssnitt, eller GUI, tillåter användare att interagera med en dator med hjälp av visuella element som knappar, menyer och dialogrutor. GUI:er ger ett lättanvänt och intuitivt gränssnitt som tillåter användare att utföra uppgifter snabbt och effektivt. De används ofta i applikationer som webbläsare, mediaspelare och kontorssviter.

Varför C++ för GUI-utveckling?

C++ är ett kraftfullt programmeringsspråk. Med hjälp av C++ kan vi utveckla komplexa mjukvarusystem, inklusive GUI. Några av anledningarna till att C++ är ett populärt val för GUI-utveckling inkluderar:

    Prestanda:C++ är ett högpresterande språk som kan exekvera kod snabbt och effektivt. Det är idealiskt för GUI-utveckling.Stöd över plattformar:C++ kan kompileras för flera operativsystem. Det är ett utmärkt val för att bygga plattformsoberoende GUI-applikationer.Brett utbud av bibliotek och ramverk:C++ har ett stort utbud av bibliotek och ramverk tillgängliga för GUI-utveckling. Det ger utvecklare många alternativ när det gäller att bygga sina applikationer.

Bibliotek och ramar för C++ GUI-utveckling

Det finns så många bibliotek och ramverk tillgängliga för C++ GUI-utveckling. Låt oss ta en titt på några av de mest populära alternativen.

1. Qt

Qt är den mest populära GUI-verktygssatsen med öppen källkod. Det används ofta för att utveckla gränsöverskridande GUI-applikationer. Den tillhandahåller en omfattande uppsättning verktyg och bibliotek för att bygga moderna GUI-applikationer, inklusive stöd för touch- och gestbaserad inmatning, avancerad grafik och multimedia.

intilliggande vinklar

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(); } 

Produktion:

C++ GUI

Förklaring

Exempel på json-format

Detta C++-program använder sprintf-funktionen för att formatera en sträng och printf-funktionen för att skriva ut den formaterade strängen till konsolen. Den deklarerar vissa variabler, tilldelar dem värden, formaterar en sträng och matar ut den till konsolen.

2. wxWidgets

wxWidgets är en annan populär plattformsoberoende GUI-verktygssats. Den tillhandahåller en uppsättning verktyg och bibliotek för att bygga moderna GUI-applikationer. Den stöder ett brett utbud av plattformar, inklusive Windows, Linux och 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; } 

Produktion:

C++ GUI

Förklaring

Detta är en grundläggande wxWidgets-kod som skapar ett fönster med en statusrad och visar texten 'Hello World'. HelloWorldApp-klassen är definierad för att implementera applikationen. OnInit()-funktionen initierar programmet och skapar en ny ram med den angivna titeln. Funktionen CreateStatusBar() skapar ett statusfält längst ner i fönstret, och SetStatusText() ställer in texten som ska visas i statusfältet. Slutligen visar funktionen Show() fönstret och SetTopWindow() ställer in ramen som fönstret på översta nivån.

3. FLTK

Det står för Fast Light Toolkit. Det är en plattformsoberoende GUI-verktygslåda. Det ger en lätt och snabb uppsättning verktyg och bibliotek för att bygga GUI-applikationer. Det är ett populärt val för byggapplikationer som kräver ett litet fotavtryck eller har strikta prestandakrav.

upphöjd i illustrator

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(); } 

Produktion:

C++ GUI

Förklaring

Den här koden använder fltk-biblioteket för att skapa ett fönster med en märkt boxwidget som säger 'Hello, World!'. Boxen har ett fet kursivt teckensnitt, en storlek på 36 och en skuggetikett. Fönstret har en storlek på 300 x 180 pixlar och visas på skärmen med hjälp av show()-funktionen. Funktionen run() startar huvudhändelsslingan för att hantera användarinmatning och håller fönstret synligt tills användaren stänger det.

4. SDL

Det står för Simple DirectMedia Layer. Det är ett plattformsoberoende multimediabibliotek. Den tillhandahåller en uppsättning verktyg och bibliotek för att bygga spel och multimediaapplikationer. Det inkluderar ljud, video, indataenheter och nätverksstöd, vilket gör det till ett mångsidigt alternativ för att bygga multimediarika GUI-applikationer.

Program 4:

char till strängjava
 #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; } 

Produktion:

C++ GUI

Förklaring

Detta är ett grundläggande SDL-program skrivet på C-språk. Den initierar SDL-biblioteket med SDL_Init(), skapar ett fönster med SDL_CreateWindow() och går in i en oändlig loop med while(1). Slingan gör ingenting och väntar bara på att användaren ska stänga fönstret eller avsluta programmet. Om det finns något fel vid initialisering av SDL skrivs ett felmeddelande ut med funktionen printf(). Programmet ger 0 vid framgång.

Slutsats

C++ tillhandahåller ett kraftfullt och effektivt programmeringsspråk för att utveckla GUI-applikationer. Den har ett brett utbud av bibliotek och ramverk. Utvecklarna har många alternativ när det kommer till att bygga sina applikationer. Oavsett om utvecklaren väljer Qt, wxWidgets, FLTK eller SDL, kan de skapa rika och moderna GUI-applikationer som körs på olika plattformar.