2 Stimmen

IronPython + Winforms in einer nicht blockierenden Weise

Ich habe mich mit Michael Foord's IronPython&Winforms-Tutorials in der interaktiven Konsole.

Ist es möglich, in der Konsole zu bleiben, nachdem die Ausgabe

Application.Run(form)

Ich kann also Steuerelemente in das Formular einfügen, während es läuft?

Ziel ist es, die WinForms-Steuerelemente zur Laufzeit dynamisch zu modifizieren, indem Ereignisbehandler hinzugefügt, Eigenschaften geändert werden usw.

3voto

Argos Punkte 712

Bei meiner Installation (ich glaube, ich habe das MSI verwendet) gibt es einen Ordner Tutorial direkt unter dem Hauptordner von IronPython.

In dem Ordner befindet sich eine Datei Tutorial.htm, die ein Beispiel für genau das enthält, was Sie wollen, und zwar in der Datei Tutorium 2 -> Übung 2 : Windows Forms Abschnitt.

Im Wesentlichen müssen Sie sicherstellen, dass IronPython über die winforms.py Datei, die im Ordner Tutorial zur Verfügung gestellt wird, indem sie entweder im Pfad vorhanden ist oder IronPython aus einem Ordner gestartet wird, der eine Kopie der Datei enthält.

Dann können Sie

 import winforms
 from System.Windows.Forms import *
 from System.Drawing import *
 f = Form()
 f.Show()

Dadurch wird ein Formular für Sie geöffnet, aber die Konsole bleibt interaktiv, so dass Sie das Formular nach Belieben ändern können, während es ausgeführt wird.

2voto

Lukas Cenovsky Punkte 5330

Sie müssen die Application.Run(form) in einem anderen Thema. Siehe mein Blogbeitrag oder die von Michael: www.voidspace.org.uk/python/articles/testing/testing-multidoc.shtml

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X