gpt4 book ai didi

c++ - gtkmm 和 FileChooserButton 无法获取文件名

转载 作者:行者123 更新时间:2023-11-28 05:27:55 25 4
gpt4 key购买 nike

这是我的代码,我在使用小部件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_filenameget_filename 返回空字符串 "";

最佳答案

信号和 sigc::bind 传递在连接时计算的值。所以当你这样做的时候

chooserButton->get_filename()

这将返回一个空字符串,此时 Gtk::FileChooserButton 尚未显示或使用。

您需要在回调函数中调用 chooserButton->get_filename() 来获取当前值。

关于c++ - gtkmm 和 FileChooserButton 无法获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40164773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com