gtkmm и FileChooserButton не могут получить имя файла

это мой код, я пытаюсь получить имя_файла после выбора файла с виджетом FileChooserButton

Gtk::FileChooserButton *chooserButton = nullptr;
std::string idChooserButton = commonArray[b]["id"];
builder->get_widget(idChooserButton, chooserButton);
Php::call("var_dump",chooserButton);
if (strcmp(commonArray[b]["action"], "click") == 0) {
Php::Value callback = commonArray[b]["callback"];
chooserButton->signal_selection_changed().connect(
sigc::bind<Php::Value,Php::Value>(
sigc::mem_fun(*this, &ParserGtk::callbacks),
callback,
chooserButton->get_filename()
)
);
}

Я называю functino get_filename но get_filename вернуть пустую строку «»;

0

Решение

Сигналы и sigc::bind передать значения, вычисленные во время подключения. Итак, когда вы делаете

chooserButton->get_filename()

Это вернет пустую строку, Gtk::FileChooserButton не были отображены или использованы в этой точке.

Вам нужно будет позвонить chooserButton->get_filename() в вашей функции обратного вызова, чтобы получить текущее значение.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]