2017-12-18 6 views
0

私は最初のC++プログラムをGUIで作成しています。 私はCode :: Blocks v16.01とwxWidgets v3.03を使用しています。 私は、wxComboBoxクラスのコンストラクタで、選択肢を表す型がwxArrayStringであることがわかりました。私はベクトルをベクトルに変換し、後でベクトルとwxArrayStringに変換しようとしましたが、悲惨なことに失敗しました...wxComboBoxの選択値としてベクトル<double>を設定します。

私の質問はどのようにwxComboBoxオブジェクトのデフォルト選択値を設定するのですか? プログラムの実行中に作成されたvectorの値で埋められることをお勧めします。ここで

はコードです:

#include <iostream> 
#include <vector> 
#include <fstream> 
#include <sstream> 
using namespace std; 

vector <double> vector_double; 
vector <string> vector_string; 
vector <wxString> vector_wxstring; 

void convert_double_to_string(vector<double> &dbl, vector <string> &str) 
{ 
    for (int i = 0; i < dbl.size(); i++) 
    { 
     ostringstream stream; 
     stream << dbl[i]; 
     str.push_back(stream.str()); 
    } 
} 
void convert_string_to_wxString(vector<string> & str, vector <wxString> &wxstr); 
{ 
    for (int i = 0; i < str.size(); i++) 
    { 
     wxstr.push_back(_(str[i])); 
    } 
} 
void main() 
{ 
    ///////// 

    // here setting vector_double's values 

    ////////// 

    convert_double_to_string(vector_double, vector_string); 
    convert_string_to_wxString(vector<string> vector_string, vector_wxstring); 
} 

これは私が持っているものです。しかし、wxStringへの文字列変換は機能しません。たとえそれがあったとしても、wxArrayStringに挿入する方法はわかりません。これらの線に沿って

+0

あなたは明らかに、その後 'wxArrayString'にこれらの文字列を入れて、文字列にあなたのdouble値のそれぞれを変換する必要があります。それであなたのベストな試みを投稿して、どこに問題があるのか​​分かりますか? –

+0

@ChrisW。、あなたが試したことと何がうまくいかなかったかのいくつかのコードを表示してください - あなたはコンパイラ/リンカのエラーを受けているか、プログラムが期待したことをしていません。できるだけ正確にしてください。 – Igor

+0

この行は間違っています:convert_string_to_wxString(vector vector_string、vector_wxstring); 'ベクトル'を削除してください – ravenspoint

答えて

1

何か:

wxComboBox * cbo = new wxComboBox(...); 
wxArrayString as; 
for (auto& s : vector_string) 
    as.Add(s); 
cbo->Set(as); 
+0

ありがとうございます!できます。ベクターの変換は不要であることが判明した。 –

関連する問題