我正在尝试制作自定义弹出窗口并做了以下事情。
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
任何人都可以帮助我。 非常感谢提前。
答案 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)