GUI-Entwicklung mit IronPython und Visual Studio 2010

Ich bin lehren einem Einführungskurs in die Programmierung und GUI-Entwicklung mit Python, und haben festgestellt, dass der zumindest überwiegende-Lösung für die Schüler neu zu Programmieren, ist die Verwendung von Visual Studio für die GUI-Entwicklung.

Während die GUI-Entwicklung Erfahrung mit C# und VB ist angenehm, ich konnte nicht einen Weg finden, das gleiche zu tun mit IronPython. Ich installierte IronPython 2.7.1 enthält die Visual Studio-tools und erstellt eine WPF IronPython-Projekt.

Kann ich mit einem WPF-Formular-designer einfach wie VB und C#, aber ich konnte nicht finden einen bequemen Weg (d.h., verständlich an die Studenten), in denen die GUI-Elemente zugegriffen werden konnte. Zum Beispiel mit VB, können Sie beziehen sich auf Elemente, die basierend auf Ihren Namen und dann können Sie das ändern der Eigenschaften in Ihnen. Das beste was ich tun konnte, mit IronPython (was ich nicht vor habe zu zeigen, um den Studenten), ist die folgende:

import wpf

from System.Windows import Application, Window

class MyWindow(Window):
    def __init__(self):
        wpf.LoadComponent(self, 'WpfApplication3.xaml')

    def Button_Click(self, sender, e):
        #This is the only way I could find in which I can 
        #access an element and modify its properties
        self.Content.Children[1].Text += 'Hello World\n'


if __name__ == '__main__':
    Application().Run(MyWindow())

Bemerkte ich, dass die GUI-Elemente nicht bekommen, einen Namen und Visual Studio stürzt ab, wenn ich versuche manuell zu ändern, die XAML-name-Elemente. Hier ist den generierten XAML-Code für ein einfaches frame mit einem button und text-Bereich:

<Window 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="WpfApplication3" Height="300" Width="300"> 
    <Grid>
        <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="103,226,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click" />
        <TextBox Height="182" HorizontalAlignment="Left" Margin="24,21,0,0" VerticalAlignment="Top" Width="237" />
    </Grid>
</Window> 

Jede Unterstützung bei dieser einfacher für die Schüler und Schülerinnen geschätzt. Ich bin auch offen für Vorschläge für andere Python-GUI-Entwicklung, die bieten eine ähnliche Erfahrung wie Visual Studio.

InformationsquelleAutor der Frage pinstruct | 2011-05-02

Schreibe einen Kommentar