有没有办法在命令行过程中弹出wxWidget对话框来选择文件?我是wxWidgets编程的新手,在wx应用程序中使用FileDialog类弹出一个选择文件对话框似乎很简单。这是我的c++代码,它在wx应用程序过程中运行良好,但在命令行过程中则不然。#包括//#包括"wx/osx/filedlg.h"#包括"wx/wx.h"#包括使用命名空间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;
}
您必须正确初始化wxWidgets才能正常工作,请参阅wxInitializer类了解如何在控制台应用程序中执行此操作。
请注意,在Unix(包括OSX)下,控制台和GUI应用程序之间确实没有任何区别,这种区别只存在于Windows下。