Il SWT-Gui sembra molto bello. C'è un modo semplice per usarlo in Jython?È possibile utilizzare SWT da Jython?
risposta
Dato che è possibile utilizzare tutte le classi Java da Jython, è anche possibile utilizzare SWT.
Per l'esempio, tratto da un SWT snippet, assicurarsi di avere il vaso SWT sul vostro CLASSPATH:
import org.eclipse.swt as swt
import org.eclipse.swt.widgets as widgets
import org.eclipse.swt.layout as layout
result = None
display = widgets.Display()
shell = widgets.Shell(display)
shell.pack()
shell.open()
dialog = widgets.Shell(shell, swt.SWT.DIALOG_TRIM | swt.SWT.APPLICATION_MODAL)
dialog.setLayout(layout.RowLayout())
ok = widgets.Button(dialog, swt.SWT.PUSH)
ok.setText ("OK")
cancel = widgets.Button(dialog, swt.SWT.PUSH);
cancel.setText("Cancel");
class MyListener(widgets.Listener):
def handleEvent(self, event):
global result
result = event.widget == ok
dialog.close()
listener = MyListener()
ok.addListener(swt.SWT.Selection, listener)
cancel.addListener(swt.SWT.Selection, listener)
dialog.pack()
dialog.open()
while not dialog.isDisposed():
if not display.readAndDispatch():
display.sleep()
print "Result:", result
display.dispose()
In realtà, non v'è alcuna necessità di un modulo speciale. This talk di Sean McGrath contiene un semplice esempio di una GUI Jython/SWT.
diapositive 11 del colloquio inizia con:
"""
Simple SWT Example
Sean McGrath
"""
from org.eclipse.swt.events import *
from org.eclipse.swt.graphics import *
from org.eclipse.swt.layout import *
from org.eclipse.swt.widgets import *
from org.eclipse.swt.layout.GridData import *
from org.eclipse.swt import *
Essa mostra che l'Altissimo è direttamente utilizzabile da Jython. Il full example è proprio lì sul sito di Sean.
to gimel: Grazie! – Natascha
Jython ha alcune altre sottigliezze che rendono il codice più pulito.
Jython traduce automagically getter & setter in proprietà pubbliche in modo che
ok.setText ("OK")
diventa semplicemente
ok.text = 'OK'
È quindi possibile fornire come nome argomenti al costruttore. Jython gestisce anche la creazione di oggetti listener per i gestori di eventi:
def handleEvent(self, event):
global result
result = event.widget == ok
dialog.close()
ok = widgets.Button(dialog, swt.SWT.PUSH
text='OK',
widgetSelected=handleEvent)
cancel = widgets.Button(dialog, swt.SWT.PUSH
text='Cancel',
widgetSelected=handleEvent)
La forma "ok.text = 'Ok'" è più idiota di Jython (cioè, è più Pythonic - sembra e si sente più simile al codice Python) –
- 1. È possibile aggiungere collegamenti stile HTML a SWT StyledText?
- 2. ID finestra da Java SWT
- 3. Jython, usa solo un metodo da Python da Java?
- 4. È possibile utilizzare HttpBrowserCapabilities da un'applicazione console C#?
- 5. È possibile utilizzare Microsoft.AspNet.WebApi.Client da un'applicazione ASP.NET Core?
- 6. È possibile utilizzare Jasper Reports per generare report da LDAP
- 7. È possibile utilizzare le funzioni definite nella shell da python?
- 8. è possibile utilizzare apache mahout senza dipendenza da hasdop?
- 9. È possibile utilizzare best_in_place con typeahead da twitter bootstrap?
- 10. È possibile utilizzare lo scalap da uno script di scala?
- 11. È possibile utilizzare un'istruzione Case in una clausola sql da
- 12. È possibile utilizzare Jackson per ottenere il valore da Pojo
- 13. È possibile creare uno stato personalizzato da utilizzare in StateListDrawable?
- 14. È possibile utilizzare un LoaderManager da un servizio?
- 15. È possibile utilizzare #define da un altro file cpp?
- 16. utilizzando enum in jython
- 17. Crea byte [] in Jython
- 18. JFreeChart con SWT
- 19. SWT e AWT, qual è la differenza?
- 20. come selezionare una cella da tavolo SWT
- 21. Java SWT Slider.getMaximum() è uguale a 100, ma è possibile trascinarlo fino a 90
- 22. Jython ha il GIL?
- 23. Swift: Non è possibile utilizzare NSImage .imageNamed
- 24. È possibile utilizzare "exe installers" con pip?
- 25. È possibile utilizzare connessioni persistenti con System.Net.Http.HttpClient?
- 26. È possibile utilizzare System.Transactions.TransactionScope con SqlBulkCopy?
- 27. è possibile utilizzare batman.js con express?
- 28. È possibile utilizzare String.fromCodePoint proprio come String.fromCharCode
- 29. è possibile utilizzare iframe in UIWebView?
- 30. È possibile utilizzare Mockito in Kotlin?
Grazie Torsten, sembra molto facile. (Scusa non posso invitare ora) – Natascha
Ah, non ci vorrà molto tempo prima che tu possa farlo. –