Python è una buona scelta per sviluppare le interfacce utente? Se è così, wxPython o Tkinter?

11

Non vedo l'ora di sviluppare un'applicazione desktop con Python. Sono un principiante e non ho esperienza sufficiente in Python. Sono anche un programmatore Java. Sebbene io abbia una certa esperienza nella creazione di interfacce utente utilizzando Swing, vedo che le app sviluppate su Swing sono troppo dannatamente lente. Beh, questa potrebbe essere una delle ragioni per cui molte delle principali implementazioni sono fatte in C / C ++ come nei browser / giochi.

Lo sviluppo di un'interfaccia utente in C ++ potrebbe essere un'opzione migliore, ma preferisco scegliere un linguaggio di programmazione di alto livello su C / C ++. Quindi ho optato per Python presumendo che avrebbe funzionato bene su Java Swing dato che Python stesso è costruito in modo nativo su C / C ++.

Quindi posso andare avanti con questa ipotesi che Python è meglio di Java Swing per sviluppare un'interfaccia utente? Oppure suggerisci un linguaggio migliore di Python per sviluppare le interfacce utente? Se per niente vado avanti con Python, quale toolkit dovrei usare Tkinter o wxPython e perché?

    
posta Vamsi Emani 15.06.2011 - 10:17
fonte

7 risposte

14

Ho appena iniziato lo sviluppo di un'app desktop per Windows, usando python. Sto usando PyQt .

È molto facile da installare e da installare. Il tutorial qui: link mostra come è facile, mostrerò il codice:

#!/usr/bin/python

# simple.py

import sys
from PyQt4 import QtGui

app = QtGui.QApplication(sys.argv)

widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('simple')
widget.show()

sys.exit(app.exec_())

Questo ti fa avere una finestra.

Ho scelto Python / PyQt su C # / WPF perché voglio imparare Python e il mio datore di lavoro mi sta dando il tempo.

Il mio manager mi ha consigliato PyQt su altri framework, poiché nella sua esperienza è più facile da usare.

    
risposta data 15.06.2011 - 10:30
fonte
5

Se stai cercando di sviluppare una GUI nativa per Windows o OSX, ti consiglio di usare Tkinter (cioè la libreria della GUI Tk con vestiti pythonic) in quanto ti avvicini molto al look nativo di wxPython (wxWidgets per pitone). Non sto trovando facile quantificare, ma ai miei occhi gli screenshot di Windows e OSX . YMMV. So che Tk ( importante: con il set di widget Ttk) ha un aspetto nativo molto strong.

Se stai sviluppando per Linux ... non posso davvero consigliarti sinceramente l'uno sull'altro, perché ho perso la cognizione dell'aspetto della piattaforma preferita. : -)

    
risposta data 15.06.2011 - 10:31
fonte
3

Direi che è una buona scelta se conosci già e ti piace Python. Altrimenti, usa la lingua che già conosci, che è Java. L'unica eccezione qui è se questo è un progetto di apprendimento, nel qual caso suggerirei di fare esperienza con altre lingue sarebbe una buona idea.

Il mio punto qui è che Python non è realmente migliore o peggiore di Java per le applicazioni UI, quindi usa lo strumento con cui ti piace lavorare.

    
risposta data 15.06.2011 - 16:41
fonte
1

L'unico vero consiglio che si può dare per tutte le domande come questa è "provaci e vedi se ti piace" - le opinioni di altre persone sui linguaggi di programmazione (in particolare su quelle che potrebbero essere le loro lingue più amate o odiate) sono raramente vale molto.

Tuttavia, i miei 5 centesimi vale la pena - per abbattere velocemente, semplici GUI di Windows, la combinazione di Python e wxWidgets funziona molto bene. Ma come ho detto, provalo tu stesso: puoi mettere insieme qualcosa di semplice ma utile in un'ora o giù di lì, anche senza molta esperienza in Python (di certo non ne ho molto).

    
risposta data 15.06.2011 - 10:26
fonte
1

Nel caso in cui qualcuno finisca qui tramite il motore di ricerca: puoi generare rapidamente alcuni esempi di Tkinter usando il generatore PAGE. Genera un codice decente che ti darà l'idea di cosa ci vorrà per arrivare dove vuoi andare. Sicuramente richiede di accettare la generalità, come afferma l'autore, ma per qualcuno che vuole testare le acque o avere un'idea generale di dove stanno andando, è un buon strumento. PAGINA su SourceForge .

    
risposta data 10.09.2018 - 20:32
fonte
-1

Penso che alcuni tipi di applicazioni siano abbastanza maneggevoli da scrivere in Python.

Ad esempio Task Coach è scritto in Python / wxPython. Usano un compilatore Python2exe come py2app, py2exe, ecc per creare eseguibili dall'aspetto nativo multipiattaforma.

    
risposta data 15.06.2011 - 12:09
fonte
-1

Se sei limitato allo sviluppo nell'ecosistema Windows e utilizzi Visual Studio, prendi in considerazione Iron Python. Iron Python è Python più oggetti .NET.

    
risposta data 15.06.2011 - 22:49
fonte

Leggi altre domande sui tag