0

コマンド ライン プロシージャでファイルを選択するための wxWidget ダイアログをポップアップする方法はありますか? 私は wxWidgets プログラミングが初めてで、wx アプリで FileDialog クラスを使用してファイル選択ダイアログをポップアップするのは簡単なようです。これが私の C++ コードで、wx アプリ プロシージャ内では正常に動作しますが、コマンド ライン プロシージャ内では動作しません。#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 クラスを参照してください。

OS X を含む Unix では、コンソール アプリケーションと GUI アプリケーションの間にまったく違いはなく、この違いは Windows にのみ存在することに注意してください。

于 2013-07-30T21:37:45.507 に答える