0

有没有办法在命令行过程中弹出一个 wxWidget 对话框来选择文件?我是 wxWidgets 编程的新手,在 wx 应用程序中使用 FileDialog 类弹出一个选择文件对话框似乎很简单。这是我的 c++ 代码,它在 wx app 过程中运行良好,但在命令行中却不行。#include //#include "wx/osx/filedlg.h" #include "wx/wx.h" #include using 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;
}
4

1 回答 1

0

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

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

于 2013-07-30T21:37:45.507 回答