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



有没有办法在命令行过程中弹出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下。

最新更新