Gå til innhold

Hvilket GUI bibliotek er best?


Anbefalte innlegg

Da jeg lærte meg C++ brukte jeg litt av MFC. Dette syntes jeg var dårlig, og tungvint. Jeg har nettopp lest noe om at Borland sin C++Builder bruker Borland sitt eget GUI bibliotek som et alternativ til MFC fra MS Visual C++...

 

Det jeg lurer på er, hvilket GUI bibliotek kan være best å bruke(Også lett).

 

QT har jo også et GUI bibliotek til C++ som er platformuavhengig

Lenke til kommentar
Videoannonse
Annonse

QT koster masse penger, det gjør ikke OWL og MFC.

 

MFC er helt greit, men det er som du sier, det er fryktelig tungvint...

Nå er det en stund siden jeg har holdt på med C++ Builder, så der kan jeg ikke uttale meg, men .NET er ganske enkelt å bruke (det fungerer som det gjør i Visual Basic.NET og C#)

 

Men MFC er noe en venner seg til, det er ikke så komplisert som det ser ut til ved første øyekast, og dårlig er det vel ikke.

 

Men i Visual C++ Bible 6 så overdriver de helt sykt hvor bra MFC er, han karen som skrev boka må ha fått penger dytta opp i sprekken av Microsoft for å skrive den boka.

Lenke til kommentar

Dette blir smak og behag.

 

I Windows bruker jeg WTL (Windows Template Library) som er et påbygg på ATL. Men det er kanskje ikke noe for nybegynnere vil jeg tro. Det er en stor fordel å ha litt kunnskaper om hvordan Windows fungerer, og spesielt messagesystemet. ATL kunnskap er også en fordel.

 

Andre alternativer er wxWindows, FLTK og Qt som du nevnte. Personlig liker jeg ikke Qt, og har ikke så altfor mye erfaring med wxWindows og FLTK.

 

De største forskjellene ligger etter min mening i håndteringen av messages/events og kanskje hjelpeverktøy. Noen eventsystemer er makrobasert mens andre har systemer som f.eks. Qts signal/slot implementasjon. FLTK bruker vel en virtual handle metode med et int argument som spesifiserer eventtype, samt eventdata tilgjengelig gjennom statiske (!) variable (litt fyfy). Alle har sine fordeler og ulemper.

Endret av kjetil7
Lenke til kommentar

jeg leste engang et sitat om MFC av en som jobbet med det.. "MFC is like the swedish police, noone understands eachother, and when they do they can't communicate"

 

kan ikke bekrefte dette iom at jeg ikke har brukt MFC, men jeg ser ingen grunn til å starte å bruke det nå. om man koder til windows så er .NET et logisk valg. man trenger ikke kjøpe VS.net for å dra nytte av det .NET framework byr på. ( sjekk ut SharpDevelop ). Det er en tid siden jeg jobbet med OWL, men hadde relativt dårlige erfaringer med det sist.

 

 

Om man derimot koder til linux / unix så er jo QT ganske greit å jobbe med.

Lenke til kommentar

.NET Framework er selvfølgelig et godt alternativ i Windows, men jeg utelot det med vilje fordi du da er inne på en helt ny platform (CRT - Common Language Runtime). NET er mye mer enn et rent GUI-bibliotek.

 

Ellers synes jeg at MFC egentlig er helt greit. Litt klønete messagehåndtering, men ellers er jo selve klassebiblioteket helt ok.

Endret av kjetil7
Lenke til kommentar
  • 3 uker senere...
  • 1 måned senere...

Synes ikke det kom godt nok fram, så jeg understreker det: Qt koster penger til kommersielt bruk OG hvis du skal bruke det på Windows. Trolltech føler ikke at Windows bidrar til tanken om åpen/fri kildekode, og ønsker dermed ikke å bidra med en gratis versjon av Qt til Windows.

 

Kanskje ikke så dumt..?

Lenke til kommentar

Kanskje ikke - men si Windows ikke eksisterte, hva hadde de gjordt da? Altså hadde Qt da vært fritt under Linux eller ikke?

 

Edit:

Har tenkt litt på det her med hvordan man bygger opp et OS. Normalt tenker man seg at man starter i bunnen og bygger oppover. Hva om man startet ovenfor og gikk nedover - og at kjernen var det siste man la til (byttet ut)?

 

eirikhm (post under): Nei, det synes jeg er unødvendig - ganske åpenbart, siden jeg, som du ser, ikke startet en ny tråd om det. Spesiellt siden de vanligste GUI-bibliotekene allerede er blitt nevnt. (starte en ny tråd om dette også?)

 

Mono (saueflokkmentalitet) har jeg aldri nevnt, så hvordan det havnet inn i quoten din vet jeg ikke.

Endret av søppel
Lenke til kommentar
Har tenkt litt på det her med hvordan man bygger opp et OS. Normalt tenker man seg at man starter i bunnen og bygger oppover. Hva om man startet ovenfor og gikk nedover - og at kjernen var det siste man la til (byttet ut)?

 

 

 

 

Skal bli artig å se om mono prosjektet får rotfeste i linux. Da er det nok en del folk som kommer over på .net

Det er jo en interessant diskusjon, men start heller en egen tråd.

Lenke til kommentar

Har holdt på med wxWidgets omtrent et år nå.

Jeg synes det er veldig greit å bruke, og portering av programmene er kjempelett.

(f.eks til linux).

Det som er litt vanskelig, er å sette det opp. Hvis du f.eks. trenger støtte for opengl i et vindu, må du kompilere biblioteket selv. Hvis du ikke trenger spesielle funksjoner, er dette ikke noe problem.

Jeg vet at det det er mulig å lage programmer for windows ce med wxWidgets, men jeg har ikke klart å kompilere noe sånt.

 

Har ingjen erfaring med QT, så jeg vet ikke hvilket av de to som er best, men jeg tipper de er de beste platformløse.

Lenke til kommentar

http://www.atai.org/guitool/#free_c

 

Fox er også ganske kjennt.

 

Edit:

En ting som er trasig med QT er forresten Moc-opplegget. Man må kjøre koden sin igjennom en egen pre-processor fra TrollTech. *shrug*

 

Tror noe av grunnen til dette er at tidlige C++ -kompilere hadde dårlig støtte for templates og andre mer avanserte C++-funskjoner. Så da laget de et eget opplegg for slike ting.

Endret av søppel
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...