C++のGtkmmエントリに奇妙な問題があります。
私はここでinputEntryと呼ばれるGtk :: Entryを定義しました。私はcsfという関数を持っています。Gtkmm 3.0エントリget_textは常に同じ初期テキストを返します
:
// Create input entry
Gtk::Entry inputEntry;
inputEntry.set_editable(TRUE);
inputEntry.set_text("3.55");
inputEntry.signal_activate().connect(sigc::bind<float>(sigc::ptr_fun(&csf), atof(inputEntry.get_text().c_str())));
私は後でグリッド自体、その後、その後、グリッド上のすべてのウィジェットを表示し、メインウィンドウにそのグリッドを追加し、グリッドにこのエントリを添付。私はCSF(コードの先頭にプロトタイプがある)を宣言
:私は関係なく、私がのGtk ::エントリに入力する内容、プログラムを実行していないとき、不思議な、しかし
void csf(float sa)
{
printf("%f \n", sa);
}
を、提出すると、端末は常に3.55を示します。私はset_textを "1.11"に変更しようとしましたが、投稿時には常に1.11を示しました。私は2番目のset_textを "1.11"にしてみてみましたが、常に1.11と表示されてしまいました。set_textを使わずに試しましたが、常に0と表示されます。それは300000または0.1で、常に初期値とGtk :: Entryの初期値だけを表示します。なにが問題ですか?
注:私は以前と同じようにPythonでこれを行いました。私はC++でやってみたいと思っています。たぶん私は何かを実装していないからでしょうか?