Das SWT-Gui sieht sehr gut aus. Gibt es eine einfache Möglichkeit, es in Jython zu verwenden?Ist es möglich, SWT von Jython zu verwenden?
Antwort
Vorausgesetzt, dass Sie alle Java-Klassen aus Jython verwenden können, ist es auch möglich, SWT zu verwenden.
Für das Beispiel von einem SWT snippet angepasst, stellen Sie sicher, dass Sie das SWT Glas auf CLASSPATH haben:
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()
Eigentlich gibt es keine Notwendigkeit für ein spezielles Modul. This talk von Sean McGrath enthält ein einfaches Beispiel für eine Jython/SWT-GUI.
Folie 11 des Vortrags beginnt mit:
"""
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 *
Es zeigt, dass SWT von Jython direkt nutzbar ist. Die full example ist direkt bei Sean.
an gimel: Danke! – Natascha
Jython hat ein paar andere Feinheiten, die den Code sauberer macht.
Jython übersetzt automagically Getter & Setter in öffentlichen Eigenschaften, so dass
ok.setText ("OK")
einfach
ok.text = 'OK'
Sie wird dann als benannte Argumente an den Konstruktor übergeben kann. Jython behandelt auch das Erstellen von Listener-Objekten für Ihre Event-Handler:
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)
Die „ok.text =‚Ok‘“ Form ist mehr idiomatische Jython (das heißt, es Pythonic ist - es sieht aus und fühlt sich eher wie Python-Code) –
- 1. Ist es möglich, SWT auf Android-Studio oder IntelliJ zu verwenden?
- 2. Ist es möglich, Inline-Vorlagen zu verwenden?
- 3. Verwenden von Jython mit Django?
- 4. Ist es möglich, re2 von Python zu verwenden?
- 5. ist es möglich, renjin innerhalb von rstudio zu verwenden
- 6. Ist es möglich, Hibernate als Persistenzanbieter von Glassfish zu verwenden?
- 7. Ist es möglich, Reflexion mit LINQ zu Entität zu verwenden?
- 8. Ist es möglich, Keyframes Animation zu Pseudo-Element zu verwenden?
- 9. Ist es möglich, Java zu verwenden, um dll zu erstellen?
- 10. Ist es möglich, JQuery für Single Select zu verwenden?
- 11. Ist es möglich, Polymer und Brick zusammen zu verwenden?
- 12. Ist es möglich, Python mit PHP zu verwenden
- 13. Ist es möglich, Dlib in Android wie OpenCV zu verwenden?
- 14. Ist es möglich, Sonar Web Reporting-Tool eigenständig zu verwenden?
- 15. Ist es möglich, Object.defineProperties mit Symbolen zu verwenden?
- 16. Ist es möglich, Reaktionsmaterial in einem Rahmen zu verwenden?
- 17. Ist es möglich, die Andock-COPY-Anweisung optional zu verwenden?
- 18. Ist es möglich, java.lang.instrument.Instrumentation in JUnit-Tests zu verwenden?
- 19. Ist es möglich, einen Pfad für #include zu verwenden?
- 20. Ist es möglich, SQLite.NET mit unveränderlichen Datensatztypen zu verwenden?
- 21. ist es möglich, socket.io-client unter IE 9 zu verwenden?
- 22. Ist es möglich, Parallax in einer Facebook App zu verwenden?
- 23. Ist es möglich, Sass & BEM im Joomla System zu verwenden?
- 24. Ist es möglich, Realm auf Back-End zu verwenden?
- 25. Ist es möglich, || zu verwenden? in PHP wechseln?
- 26. Ist es möglich, OAuth 2.0 für Office365 SMTP zu verwenden?
- 27. Ist es möglich, GCC ohne Cygwin oder MinGW zu verwenden?
- 28. Ist es möglich, Win32 Hooks in Qt-Anwendungen zu verwenden
- 29. Ist es möglich, .NET Reactor mit ClickOnce-Bereitstellung zu verwenden?
- 30. Ist es möglich, Speicherbarrieren nur auf der Speicherseite zu verwenden?
Vielen Dank Torsten, es sieht sehr einfach aus. (Sorry, kann jetzt nicht upvote) – Natascha
Ah, es wird nicht lange dauern, bis Sie das tun können. –