0

代码: http: //pastebin.com/W4uXmazw

我想记住单击 wx.Button 后如何通过事件处理从任何 wx 小部件中获取值。

在我的程序中,我有两个字段,新文件名和内容。

为了从每个字段中获取值,我必须采取哪些步骤?

从那里,我可以使用 pythons f.open 和 f.write 方法来完成我的应用程序。

谢谢!

4

1 回答 1

0

如果你想获得一个小部件的价值,那么你需要让这个小部件在整个类中都可以访问。为此,您需要将小部件的变量设置为实例变量。因此,与其将文本控件直接添加到 sizer,不如执行以下操作:

self.newfilename = wx.TextCtrl(panel,-1), 0, wx.TOP, 5)
self.contents = wx.TextCtrl(panel,-1,size=(390,150),style = wx.TE_MULTILINE|wx.TE_PROCESS_TAB)

然后在按钮的事件处理程序中,您可以执行以下操作:

valueOne = self.newfilename.GetValue()
contents = self.contents.GetValue()

另一种方法是使用您的面板。如果您使用“self.panel”,那么您可以通过其 GetChildren 方法获取其所有子项,然后遍历列表并使用 Python 的“isinstance”内置函数来检查您正在访问的小部件类型。如果您设置了小部件的名称,您也可以检查它。

于 2012-12-18T15:48:31.587 回答