gtkmm 4 FileChooserNative 代码示例
Example of gtkmm 4 FileChooserNative code
我找不到使用 Gtk::FileChooserNative
的代码示例来帮助我理解如何使用此 class。来自 here 的文档没有那么有用。
我的目标是创建一个打开本机文件选择器对话框并在用户选择文件夹后将文件夹路径打印到终端的功能。
当我尝试编译时:
void MyWindow::on_button_browse_clicked()
{
Gtk::FileChooserNative dialog ("Please choose a folder",
Gtk::FileChooser::Action::SELECT_FOLDER,
"Choose",
"Cancel");
}
我收到以下错误:
error: calling a protected constructor of class 'Gtk::FileChooserNative'
如何创建 Gtk::FileChooserNative
?
我这里没有 Gtkmm 4,但是从您发布的文档来看,您似乎需要使用 factory method 而不是构造函数来创建这样的对话框:
static Glib::RefPtr<FileChooserNative> Gtk::FileChooserNative::create(
const Glib::ustring& title,
Window& parent,
FileChooser::Action action,
const Glib::ustring& accept_label = {},
const Glib::ustring& cancel_label = {}
)
在你的情况下,类似于:
void MyWindow::on_button_browse_clicked()
{
auto dialog = Gtk::FileChooserNative::create("Please choose a folder",
*this,
Gtk::FileChooser::Action::SELECT_FOLDER ,
"Choose",
"Cancel");
dialog->show();
}
我找不到使用 Gtk::FileChooserNative
的代码示例来帮助我理解如何使用此 class。来自 here 的文档没有那么有用。
我的目标是创建一个打开本机文件选择器对话框并在用户选择文件夹后将文件夹路径打印到终端的功能。
当我尝试编译时:
void MyWindow::on_button_browse_clicked()
{
Gtk::FileChooserNative dialog ("Please choose a folder",
Gtk::FileChooser::Action::SELECT_FOLDER,
"Choose",
"Cancel");
}
我收到以下错误:
error: calling a protected constructor of class 'Gtk::FileChooserNative'
如何创建 Gtk::FileChooserNative
?
我这里没有 Gtkmm 4,但是从您发布的文档来看,您似乎需要使用 factory method 而不是构造函数来创建这样的对话框:
static Glib::RefPtr<FileChooserNative> Gtk::FileChooserNative::create(
const Glib::ustring& title,
Window& parent,
FileChooser::Action action,
const Glib::ustring& accept_label = {},
const Glib::ustring& cancel_label = {}
)
在你的情况下,类似于:
void MyWindow::on_button_browse_clicked()
{
auto dialog = Gtk::FileChooserNative::create("Please choose a folder",
*this,
Gtk::FileChooser::Action::SELECT_FOLDER ,
"Choose",
"Cancel");
dialog->show();
}