2011-02-02 20 views
7

Ci sono molte pagine su librerie C/C++ GUI, ma ho avuto davvero difficoltà a trovare quelle che hanno un aspetto nativo e native.Libreria GUI C/C++ leggera con aspetto nativo

Ho preso uno sguardo alle GTK +, e il problema è che, mentre quelli emulare le finestre guardare molto bene, non si sentono come Windows Windows - perché non sono. I pulsanti, ad esempio, non svaniscono in modalità hover come dovrebbero in Windows 7; diventano improvvisamente evidenziati, perché in realtà sono solo elementi disegnati su misura che sono fatti a look come pulsanti.

Qualcuno sa di una libreria GUI multipiattaforma leggera che utilizza effettivamente i controlli nativi (e quindi si integra perfettamente con il sistema operativo), piuttosto che provare a emularli? (Ho bisogno di essere leggero, quindi posso semplicemente collegarlo staticamente, senza trasformare un programma da 50 KB in un programma da 2 MB.)

+1

"perché sono in realtà solo elementi disegnati su misura che sono fatti per apparire come pulsanti." Penso che la tua impressione di cosa sia realmente un pulsante ... è un po 'interpretata. Sicuramente è sempre un oggetto disegnato che ha l'aspetto di un pulsante; indipendentemente dall'implementazione? – dcousens

+2

@Daniel: la mia impressione non è in alcun modo interpretata. Sai come vengono creati i pulsanti in Windows, rispetto a come sono implementati in GTk? Riesci a notare la differenza e hai mai usato Spy ++? – Mehrdad

+0

Non so nulla dei meccanismi dietro le applicazioni; comunque il mio commento rimane lo stesso; sono entrambi disegnati sullo schermo, e agiscono entrambi come pulsanti. Potrei capire che potrebbero mancare alcune funzionalità che desideri (come il passaggio del mouse o dissolvenza in entrata), ma sono a prescindere: pulsanti, come qualsiasi altro ... Quindi dire che uno è l'imitazione e l'altro è reale, non ha senso di sorta. Non sono sicuro se questo è OT o no. – dcousens

risposta

6

Hai provato wxWidgets?

Dalla homepage:

A differenza di altri toolkit cross-platform, wxWidgets dà le sue applicazioni un look davvero nativa e si sentono perché utilizza API native della piattaforma piuttosto che emulare l'interfaccia grafica

+0

Questo sembra interessante. Il programma di installazione di Windows è solo 11 MB. – ThomasMcLeod

+0

Questo * sembra * interessante. :) L'unico problema che sto avendo è che non posso eseguire nessuna delle demo con Visual Studio 2008. Sto ricevendo 'c: \ wxWidgets-2.9.1 \ include \ wx/platform.h (256): errore fatale C1083: impossibile aprire il file include: 'wx/setup.h': Nessun file o directory simile 'ma i percorsi sembrano andare bene ... qualche idea? (Se lo reindirizzo a '\ include \ msvc', ottengo un altro errore con' wxSETUPH_PATH_STR' ...) – Mehrdad

+0

OMG sì, è ** esattamente ** quello che stavo cercando !! (Ho appena [scaricato una demo] (http://www.wxwidgets.org/downloads/demos.htm) per testarlo.) Grazie mille! :) – Mehrdad

0

Se pensi a quello che stai chiedendo, stai chiedendo molto. Per fare ciò, le API di finestre/GUI devono essere astratte in un punto comune attraverso tutte le piattaforme supportate. Questo è un compito molto grande e complesso.

+2

Forse, ma [Java SWT] (http://www.eclipse.org/swt/) lo fa già (Eclipse) ... quindi è già stato fatto prima, e sto solo cercando una versione C/C++ . Sembra fattibile, anche se difficile ... no? (E mi dispiace dirlo, ma questa è davvero una risposta?) – Mehrdad

+1

@Mehrdad: Eclipse non è un ottimo esempio, poiché è tutto tranne che leggero. –

+1

@ Ben: Ma quello è Java, non C/C++. Anche allora, hai qualche esempio di C/C++ che * non è * leggero? – Mehrdad

3

I suggerire Qt4. Non so se lo chiamerei leggero, ma secondo me è la migliore struttura multiuso multipiattaforma che ci sia. E 'gratis (LGPL). Viene fornito con un IDE molto funzionale - QtCreator.

+3

Tuttavia, non utilizza i widget nativi; disegna i propri pseudo-widget in un modo simile ai widget nativi per il sistema operativo host ... che è ciò che l'interrogante sta tentando di evitare. –

-1

Vorrei controllare FLTK. Dovrebbe essere veloce e leggero. Ho lavorato sia con wxWidgets che con FLTK, e FLTK è molto più leggero. Ha anche uno strumento di progettazione GUI che genererà il codice se lo desideri. Molti programmi di esempio.

+3

immagino che la domanda richieda specificamente una libreria della GUI che "usa i controlli nativi" e si senta a casa su Windows ... non c'è alcun accenno nella risposta ... Wikipedia dice "FLTK" [non ha un aspetto nativo- e-feel su qualsiasi piattaforma] (http://en.wikipedia.org/wiki/FLTK) ... leggi attentamente la domanda prima di tentare una risposta ... :) tutto il meglio ... – user1055604

Problemi correlati