Disposizione grafica dell'app wx
-
03-07-2019 - |
Domanda
Essendo veramente nuovo in WX, mi chiedo se esiste un IDE (specialmente per Linux) che mi aiuterebbe a delineare un frame o un dialogo o qualunque cosa solo per aiutarmi a vedere cosa sto facendo. Ciò significa anche creare il codice per tali modifiche.
Ricordo molto tempo fa quando usavo i compilatori di risorse per OS / 2 e Windows che producevano file binari che avrebbero poi creato la finestra, e speravo in qualcosa di simile (anche se ovviamente non binario se wx non lo supporta).
Soluzione
Uso wxFormBuilder . È scritto in wxWidgets, quindi funziona su Linux abbastanza bene. Può generare codice C ++ o file XRC. Assicurati di averne compreso la filosofia e di usarla in questo modo:
- genera codice C ++ per la GUI
- non modificare il codice generato da wxFormBuilder, ma creare nuovi file
- in nuovi file, ricava nuove classi dalle classi che ha generato
- implementa gestori di eventi nella tua classe (wxFB crea una funzione virtuale per ogni gestore di eventi che desideri utilizzare)
Di solito chiamo le classi / i file generati da wxFormBuilder come, ad esempio, MainFrameGUI, e uno con l'implementazione (uno derivato in cui scrivo tutto il mio codice) sarebbe solo MainFrame. Ciò consente di modificare il layout visivo e rigenerare i file C ++ da wxFB in qualsiasi momento senza sovrascrivere il codice.
Altri suggerimenti
DialogBlocks funziona abbastanza bene per me, anche se a volte è necessario modificare il codice in correggere gli errori manualmente. Ha un editor di proprietà che sembra abbastanza avanzato.
Solo un'altra opzione è wxGlade . Non ha le caratteristiche che sembrano avere gli altri citati, ma funziona abbastanza bene per me da non osare cambiare.
Uso Code :: Blocks IDE da http://www.codeblocks.org che ha - editor GUI integrato - Cross compilable, quindi puoi usarlo su Linux, OSX e Windows.
Ma uso ancora wxFormBuilder con esso invece dell'editor wxSmith integrato. Ma sono compatibili con wxSmith interno.
Per Windows hai " wx-devcpp " che è Blodsheed Dev C ++ con alcuni componenti aggiuntivi che forniscono ciò che stai cercando
Ecco la pagina del progetto http://wxdsgn.sourceforge.net/