wxpython中弹出瞬态窗口的pos参数

时间:2016-05-02 09:07:02

标签: python python-2.7 wxpython superclass

我正在尝试制作自定义弹出窗口并做了以下事情。

dial = MyDialog(self, "mydialog", wx.id, cmd, pos=ldPos)

但是当我通过以下方式打电话时:

Traceback (most recent call last):
  File "D:\X000T9P77\projects\MYTEST\docs\MYTEST_gui_module_src\MYTESTGUI.py", line 1465, in ShowMessage1
    dial = MyDialog(self, "CELL "+id, id, cmd, pos=ldPos)
  File "D:\X000T9P77\projects\MYTEST\docs\MYTEST_gui_module_src\MYTESTGUI.py", line 103, in __init__
    super(MyDialog, self).__init__(parent, style=wx.CLIP_CHILDREN | wx.FRAME_NO_TASKBAR |wx.FRAME_SHAPED, **kwargs)
  File "C:\Python27\lib\site-packages\wx-3.0-msw\wx\_windows.py", line 2141, in __init__
    _windows_.PopupTransientWindow_swiginit(self,_windows_.new_PopupTransientWindow(*args, **kwargs))
TypeError: new_PopupTransientWindow() takes at most 2 arguments (3 given)

显示以下错误:

-O

任何人都可以帮助我。 非常感谢提前。

2 个答案:

答案 0 :(得分:0)

PopupTransientWindow只需要2个参数parent和flags,你的代码传递这些2加上它也试图传递pos参数。

super(MyDialog, self).__init__(parent, style=wx.CLIP_CHILDREN | wx.FRAME_NO_TASKBAR |wx.FRAME_SHAPED, **kwargs)

** kwargs传递给它pos = ldPos

答案 1 :(得分:0)

由于if searchBar.hidden { searchBar.hidden = false TableViewList.rowHeight = 469 } else { searchBar.hidden = true TableViewList.rowHeight = 425 } 最多需要2个参数,我建议您将其更改为:

@IBAction func searchPressed(sender: AnyObject)
{
    if searchBar.hidden
    {
        searchBar.hidden = false
        TableViewList.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)
    }
    else
    {
        searchBar.hidden = true
        TableViewList.frame = CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height-searchBar.frame.size.height)
    }  
}

要设置瞬态窗口的位置,可以使用PopupTransientWindow()

super(MyDialog, self).__init__(parent, style=wx.CLIP_CHILDREN | wx.FRAME_NO_TASKBAR |wx.FRAME_SHAPED) #, **kwargs)