有没有办法弹出一个wxWidget对话框来选择命令行过程中的文件? 我是wxWidgets编程的新手,在wx应用程序中使用FileDialog类弹出选择文件对话框似乎很简单。 这是我的c ++代码,它在wx app程序中工作正常,但在命令行中却没有。 #包括 // #include“wx / osx / filedlg.h” #include“wx / wx.h” #包括 使用namespace std;
//IMPLEMENT_APP(MyApp)
int main(int argc, const char * argv[])
{
wxFileDialog OpenDialog(NULL, wxEmptyString, wxEmptyString, wxEmptyString,
_("*"),
wxFD_MULTIPLE);
// Creates a "open file" dialog with 4 file types
if (OpenDialog.ShowModal() == wxID_OK) // if the user click "Open" instead of "cancel"
{
wxArrayString wx_str_arr;
OpenDialog.GetFilenames(wx_str_arr);
/*
for(size_t i=0; i<wx_str_arr.GetCount(); ++i)
{
wxString str = wx_str_arr.Item(i);
cout<<"str["<<i<<"] = "<<str.c_str().AsChar()<<endl;
}
*/
cout<<"count:"<<wx_str_arr.GetCount()<<endl;
}
return 0;
}
答案 0 :(得分:0)
您必须正确初始化wxWidgets才能使其正常工作,请参阅wxInitializer class了解如何在控制台应用程序中执行此操作。
请注意,在Unix下,包括OS X,控制台和GUI应用程序之间确实没有区别,这种区别只存在于Windows下。