在命令行过程中使用wxWidgets选择文件对话框

时间:2013-07-30 09:19:20

标签: wxwidgets

有没有办法弹出一个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;
}

1 个答案:

答案 0 :(得分:0)

您必须正确初始化wxWidgets才能使其正常工作,请参阅wxInitializer class了解如何在控制台应用程序中执行此操作。

请注意,在Unix下,包括OS X,控制台和GUI应用程序之间确实没有区别,这种区别只存在于Windows下。