我正在教一個使用Python進行編程和GUI開發的入門級課程,並且發現對於新編程的學生來說,最不壓倒的解決方案是使用Visual Studio進行GUI開發。使用IronPython和Visual Studio 2010進行GUI開發
雖然C#和VB的GUI開發體驗令人愉快,但我無法找到一種方法來處理IronPython。我安裝了包含Visual Studio工具的IronPython 2.7.1,並創建了一個WPF IronPython項目。
我可以像使用VB和C#一樣使用WPF表單設計器,但是我無法找到可以訪問GUI元素的便捷方式(即可理解)。例如,使用VB,您可以根據名稱引用元素,然後可以修改其中的屬性。我可以用IronPython的(我不打算展示給學生)做的最好的是:
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())
我注意到GUI元素沒有得到一個名字和Visual Studio崩潰每當我嘗試手動修改XAML以命名元素。下面是一個按鈕和文本區一個簡單的框架產生的XAML:
<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>
使這個更容易對學生的任何援助,將不勝感激。我也接受其他關於Python GUI開發的建議,它提供了類似於Visual Studio的體驗。
我發現使用PyQt4與Qt設計器比使用Visual Studio更容易(對我來說),因爲它輕巧簡單。我嘗試了Visual Studio幾年,但它非常臃腫。 – Blender 2011-05-02 05:51:58