Wohin soll ich als Neuling gehen, wenn ich ein kleines GUI -Programm erstellen möchte? [abgeschlossen

StackOverflow https://stackoverflow.com/questions/2439520

Frage

Ich bin ein Neuling mit ein wenig Erfahrung mit dem Schreiben in Basic, Python und ausgerechnet ein Smidgeon von Assembler (als Teil eines Videogame -ROM -Hacks). Ich wollte ein kleines Tool zum Ändern der Hex -Werte an bestimmten Stellen in einer bestimmten Datei erstellen, die eine GUI -Schnittstelle haben würde.

Was ich suche, ist die Fähigkeit, ein kleines GUI -Programm zu erstellen, das ich als Exe (oder zumindest als eigenständiges Verzeichnis) verteilen kann. Ich bin nicht begeistert von der Idee der .NET -Sprachen, weil ich die Leute nicht zwingen möchte, ein massives .NET -Framework -Paket herunterzuladen. Ich habe derzeit Python mit Idle und BOA -Konstruktor eingerichtet, und die Anwendung wird dort ausgeführt. Ich habe versucht, Informationen zum Zusammenstellen einer Python -App zu suchen, die auf WXWIDGETS beruht, aber die Suchergebnisse und die Informationen, die ich gefunden habe, waren verwirrend oder einfach völlig unverständlich.

Meine Fragen sind:

  1. Ist Python eine gute Sprache für diese Art von Projekt?
  2. Wenn ich PY2Exe verwende, werden WXWIDGETS bereits enthalten? Oder müssen meine Benutzer WXWidgets irgendwie auf ihren Maschinen installieren? Bin ich Recht, bei PY2Exe zu denken, dass er nur ein eigenständiges Verzeichnis erstellt, "Dist", das die erforderlichen Dateien enthält, damit der Benutzer die Anwendung nur verdoppeln und ausführen kann?
  3. Wenn sich das Programm nur auf Tkinter für GUI -Sachen beruht, wird das in der exe py2exe aufgenommen? Wenn ja, sind ihre "visuellen" GUI -Bauherren / -ides für Python mit nur Tkinter?

Vielen Dank für Ihre Zeit,

JBMK

War es hilfreich?

Lösung

Sie sollten besser denken/sagen/googeln wxpython (nicht wxWidgets), da WXPython der Python -Wrapper für die WXWIDGES C ++ ist.

1.) Python ist eine gute Sprache dafür. Wenn Sie nur auf Windows abzielen, würde ich es trotzdem in .NET/C# tun. Wenn Sie plattformübergreifend wollen, python/wxpython den ganzen Weg.

2.) Ja, die WXPython -Dateien sollten in das DIM -Verzeichnis enthalten sein. Sie müssen natürlich WXPython auf Ihrem Entwicklungsgerät installieren. Sehen hier für einige Anweisungen zum Bau. PY2Exe produziert ein einzelnes Verzeichnis mit allem, was Sie für Ihr Programm ausführen müssen. Es gibt Ihnen ein Exe, auf das Sie doppelklicken können.

3.) Ich habe Pythons Tkinter noch nie mit Py2Exe verwendet, aber ich kann nicht sehen, warum es nicht nach dem WXPython -Sinne funktioniert.

Sie sollten bedenken, dass Ihr endgültig verteilbares Verzeichnis 10s Megs beträgt (Py2Exe packt den Python -Dolmetscher und andere für Ihre App benötigte Bibliotheken). Nicht ganz so viel wie das .NET -Framework, aber nicht fast jeder hat das bereits installiert?

Andere Tipps

Wenn Sie keine Angst haben, eine neue Sprache zu lernen, betrachten Sie TCL/TK. Der Grund, warum ich erwähne, ist TCLs überlegenen Verteilungsmechanismus von TCL bis zu fast allem, was es wirklich einfach macht, ein einzelnes Datei-Exe zu schließen, das alles enthält, was Sie benötigen-die TCL/TK-Laufzeit, Ihr Programm, Ihre Symbole, Sounddateien usw. In einem eingebetteten virtuellen Dateisystem. Und die gleiche Technik, die Sie für eine Plattform verwenden, funktioniert für alle. Sie müssen keine verschiedenen Tools für verschiedene Plattformen verwenden.

Wenn Sie das faszinieren, Google für Starpack (einzelne Datei, die alles enthält), Starkit (plattformunabhängige Anwendung) und TCLKit (plattformspezifische Laufzeit).

TCL/TK ist nicht jedermanns Tasse Tee, aber als eine Gui-GUI-Sprache ist es schwer, IMO zu schlagen. Wenn es eine Achillesferse hat, ist es, dass es keine Druckunterstützung hat. Es ist jedoch überraschend, wie viele GUIs heutzutage keine Druckunterstützung benötigen.

Für ein Multiplattform -GUI -Projekt empfehle ich Ihnen, Sie zu verwenden QT -Bibliotheken und Pyqt.

Ich habe sie kürzlich für eine kleine Anwendung verwendet und beide geliebt. QT hat ein großartiges GUI -Designer und PYQT -Slot Signal -Modell hat für mich funktioniert.

Sie können Ihre App unter OSX und Windows über PY2App und PY2Exe bereitstellen. hier Ein nützlicher Link, der Ihnen zeigt, wie und das Ergebnis der möglichen Größe.

  1. Python würde zu Ihren Bedürfnissen passen.
  2. WxWidgets und Python sind völlig unterschiedliche Dinge. Ich denke, Sie meinen WXPython, ein GUI -Toolkit für Python. Ich bin mir nicht sicher, ob PY2Exe dies einschließen würde, da ich PY2Exe noch nie verwendet habe - ich baue die Pakete und ihre Abhängigkeiten manuell.
  3. Ziemlich sicher, dass Tkinter enthalten wäre. Ich benutze Tkinter ein bisschen und es funktioniert gut genug.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top