Chinaunix

标题: messagebox() [打印本页]

作者: ssqhan    时间: 2009-08-17 14:21
标题: messagebox()
dlg = wx.MessageDialog(None, "Is this explanation OK?",
                          'A Message Box',
                          wx.YES_NO | wx.ICON_QUESTION)
        retCode = dlg.ShowModal()
        if (retCode == wx.ID_YES):
            print "yes"
        else:
            print "no"

怎么也是提示出错:

unexpected ::MessageBox() return code

这句话应该是我在 示例是拷下来的!!!!

(我在一个类中调用这个提示框)

网上查结果:

第一个参数不是parent , 不能用NONE

是不是 MessageDialog必须在一个父窗口才可以使用呢??
作者: zwk0331    时间: 2009-08-17 15:14
第一个参数用self试试呢
作者: ssqhan    时间: 2009-08-17 16:47
也是不行!
作者: hamlet    时间: 2009-08-17 16:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: nietsche    时间: 2009-08-17 20:50
你既要Dialog,又要ShowModal()?怎么能凭空出来呢?
为何不Box呢?
作者: ssqhan    时间: 2009-08-18 07:59
谢谢诸位的热心解答。
接触python不几天,学习中……
作者: ssqhan    时间: 2009-08-18 08:59
可是当我直接调用:
wx.MessageBox(strError, "Via Function")

还是出错!!
作者: hamlet    时间: 2009-08-18 23:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: ssqhan    时间: 2009-08-19 15:21
一个参数也出同样的错误:
unexpected ::messagebox return code

[ 本帖最后由 ssqhan 于 2009-8-19 15:23 编辑 ]
作者: hamlet    时间: 2009-08-19 17:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: wlj78    时间: 2009-08-25 16:00
标题: 回复 #1 ssqhan 的帖子
看我的例子,怎么没问题。
# -*- coding: gbk -*-
import wx

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,parent=None,id=-1,title="python你好",size=(600,500))
        self.panel = wx.Panel(self)
        self.button = wx.Button(self.panel,label="确定退出",pos=(200,100),size=(80,60))
        self.Bind(wx.EVT_BUTTON,self.btClose,self.button)
    def btClose(self,event):
        dlg = wx.MessageDialog(parent=None,
                               message="你真的要退出吗?",
                               caption="请选择",
                               style=wx.YES_NO)
        if dlg.ShowModal() == wx.ID_YES:
            self.Close(True)
            
if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show()
    app.MainLoop()




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2