c ++ - Qt alternativ? (kun Windows)

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har udviklet en ansøgning til en klient med Qt/C ++. For nylig kom de tilbage til mig og spurgte, om jeg kunne genopføre det hele uden Qt. Så jeg leder efter et alternativ til Qt-værktøjssæt. Hvad jeg behøver, er god ActiveX-håndtering, fordi den originale software afhænger af en bestemt ActiveX-kontrol, som jeg agter at bruge igen. Jeg vil holde fast med C ++ (nr. NET).


Nogen forslag? Jeg kigger på MFC, hvilket er lidt 'meh' sammenlignet med Qt.


Tak på forhånd.

Bedste reference


MFC, WTL og wxWidgets er dine tre primære valg for C ++ GUI toolkits på Windows. [2] [3]


Jeg har ikke meget skyld på klienten for at afvise Qt. Jeg nægter at bruge det til alle mine projekter også. Dens manglende evne til at replikere de indbyggede kontroller og widgets er et reelt problem; tingene ser stort set acceptabelt ud på Windows, men alt helt falder fra hinanden på Mac OS X. Der synes ikke at være noget punkt i at bruge et 'GUI-bibliotek på tværs af platformen', hvis det ikke er virkelig (eller nyttigt) cross-platform.


Jeg som MFC. Tilsyneladende er det en upopulær mening, men de fleste mennesker, der ikke kan lide MFC, er de samme mennesker, som ikke forstår Windows API. Det er et meget tyndt lag af abstraktion, men det er en meget nyttig sammenlignet med at gøre alt direkte på Win32-niveauet. Hvis du vil bruge det, er det bedste, jeg kan anbefale, at blive grundigt bekendt med Win32 API. Lignende råd gælder for WTL og wxWidgets. Fordelen er selvfølgelig, at din app faktisk vil føle sig som en indfødt applikation. Kunder som sådan, minimerer uventet opførsel og hjælper dem med at lære nye programmer lettere.


Den største ulempe ved MFC er, at det er et smukt hæftende bibliotek, der tilføjer en betydelig afhængighed af din kode. Selvfølgelig, sammenlignet med den behemoth, der er Qt, men signifikant, hvis sammenlignet med lige WinAPI-kode. WTL er et godt alternativ, hvis det er en bekymring. Det er en endnu lettere indpakning over Win32 API, der giver mange af fordelene ved MFC (kan nogen sige CString?) Uden det meste af cruft og bulk. Igen, smertefuldt at bruge, hvis du ikke kend den underliggende API, da det ikke engang er meningen at være en komplet abstraktion, men det er det, der hjælper med at holde det lys. Desværre lyder det også i en anden forstand: dokumentation. Kort sagt, det er ikke noget, så spild det ikke meget tid. For mig er det MFC i spidsen, som det er helt veldokumenterede, ikke kun af Microsoft, men også af andre via prøvekode, der nemt findes på tværs af internettet.


Det er svært at give bedre anbefalinger uden at vide, hvad du synes er 'meh' om MFC, sammenlignet med Qt. .NET Framework er ikke så 'meh', det har mange whiz-bang-funktioner, men der er også mange ulemper, der følger med for turen.

Andre referencer 1


Jeg anbefaler WTL. Jeg har brugt det til mange Windows-only-projekter og kan ikke anbefale det stærkt nok. Kan være en stejl indlæringskurve, hvis du aldrig har lavet nogen ATL/MFC-ting før (det er stort set lig med MFC på steder.) [[[4]

Andre referencer 2


Borland C + + builder var fantastisk til det. Virkelig. Prøv at finde sin efterfølger.

Andre referencer 3


Se her:
Godt C ++ GUI bibliotek til Windows

Andre referencer 4


Nå er det logiske c ++ alternativ til Qt wxWidgets. Det har et ActiveX-modul [6] [7]

Andre referencer 5


Brug af MFC via Visual Studio 2010 er ret nemt. Du har genvejs knapper for hver valgmulighed, du ønsker at tilføje, besked osv. Du kan også live-design applikationen (kode ved direkte klik på design og tilføj knappekliksfunktioner osv.). Det er det, jeg har brugt til mine ansøgninger. Du kan også finde masser af dokumentation på MSDN fora.

Andre referencer 6


++ wxWidgets


Min eneste klage over det er nogle af metoderne på kontrolgrænsefladerne er inkonsekvente fra kontrol til kontrol.