gtkmm4 FileChooserNative代码示例



我找不到使用Gtk::FileChooserNative的代码示例来帮助我了解如何使用该类。这里的文档不是很有用。

我的目标是创建一个函数,它打开一个本地文件选择器对话框,在用户选择文件夹后,将文件夹的路径打印到终端。

当我尝试编译这个时:

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,但是从您发布的文档来看,似乎您需要使用工厂方法而不是构造函数来创建这样的对话框:

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();
}

相关内容

  • 没有找到相关文章

最新更新