wxpython按钮事件处理_的wxPython:如何处理事件绑定和show()正确

一)显示框架(与面板里面)和该面板上的按钮。 b)当我按下按钮时,会弹出一个对话框(我可以从中进行选择)。 c)当我在对话框中按ok时,对话框应该消失(被破坏),但原始的Frame + Panel +按钮仍然存在。 d)如果我再次按下该按钮,对话框将重新出现。

我的代码如下。 不幸的是,我得到了相反的效果。即,

a)选择 - 对话框首先显示(即,由于从不显示TopLevelframe +按钮,因此不点击任何按钮)。

b)当我在对话框上单击确定,然后出现带有按钮的框架。 c)再次单击按钮不起作用(即,对话框不再显示)。c)再次单击按钮不起作用(即,对话框不再显示)。

我在做什么错?似乎只要框架被初始化(即使在调用.Show()之前),对话框也会自动初始化并显示。

我与Python 2.6

============文件这样使用Eclipse + Pydev的上的WindowsXP:MainFile.py ============ ===

import wx

import MyDialog #This is implemented in another file: MyDialog.py

class TopLevelFrame(wx.Frame):

def __init__(self,parent,id):

wx.Frame.__init__(self,parent,id,"Test",size=(300,200))

panel=wx.Panel(self)

button=wx.Button(panel, label='Show Dialog', pos=(130,20), size=(60,20))

# Bind EVENTS --> HANDLERS.

button.Bind(wx.EVT_BUTTON, MyDialog.start(self))

# Run the main loop to start program.

if __name__=='__main__':

app=wx.PySimpleApp()

TopLevelFrame(parent=None, id=-1).Show()

app.MainLoop()

============文件:MyDialog.py ===============

import wx

def start(parent):

inputbox = wx.SingleChoiceDialog(None,'Choose Fruit', 'Selection Title',

['apple','banana','orange','papaya'])

if inputbox.ShowModal()==wx.ID_OK:

answer = inputbox.GetStringSelection()

inputbox.Destroy()

2010-04-26

G.A.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值