在MyApp :: OnInit()错误中打开wxFileDialog

时间:2012-02-25 18:20:46

标签: c++ user-interface wxwidgets

我正在尝试在MyApp :: OnInit()中打开一个wxFileDialog,但我最后得到一条错误消息,说明“没有匹配函数来调用'wxFileDialog :: wxFileDialog(MyApp * const,const char [ 12],const wxChar *&,const wxChar *&,const char [6],)“

MyApp::OnInit()
{
    wxFileDialog dialog2(this, _T("open a file"), wxEmptyString, wxEmptyString, _T("*.csv"), wxFD_OPEN);
    dialog2.ShowModal();
    ... open the file and then do something ...
}

这个想法是允许用户在程序启动之前打开配置文件。任何人都可以提出这个问题的建议吗?

感谢。

2 个答案:

答案 0 :(得分:1)

问题是您的第一个参数,对话框父级,它需要wxWindow*,但您传递的是MyApp*。由于您没有父母,所以只需传递NULL

wxFileDialog dialog2(NULL, _T("open a file"), wxEmptyString, wxEmptyString, _T("*.csv"), wxFD_OPEN);

答案 1 :(得分:0)

根据wxWidgets documenation,宏_T()_()不同。因此,在传递参数时尝试使用_

wxFileDialog dialog2(this, 
                     _("open a file"), 
                     wxEmptyString,
                     wxEmptyString,
                     _("*.csv"), 
                     wxFD_OPEN);