【问题标题】:How do I describe what file filter I want using juce's FileFilter?如何使用 juce 的 FileFilter 描述我想要的文件过滤器?
【发布时间】:2018-07-10 18:02:19
【问题描述】:

我试图让浏览器只显示音频文件,但是我不知道用什么语法来描述我想要的文件类型

fileChooser->setFileFilter(FileFilter(".wav"));

当我把它说成“分配抽象类类型'juce::FileFilter'的对象”时

对不起,如果这很简单

【问题讨论】:

    标签: c++ juce filefilter


    【解决方案1】:

    您应该改用WildcardFileFilter,因为FileFilter 是一个抽象基类:

    fileChooser->setFileFilter(WildcardFileFilter("*.wav", "*", "somedescription"));
    

    Docs.

    注意setFileFilter 要求const*,这意味着您必须管理它的生命周期。

    此时,您正在传递一个将被销毁的临时对象,而fileChooser 带有一个悬空指针,您应该使用寿命更长的东西。

    【讨论】:

    • 当我这样做时,它说“没有从 'juce::WildcardFileFilter' 到 'const juce::FileFilter *' 的可行转换”
    • @harry97uk 没错,因为你需要传递一个指针,而不是一个对象。
    • fileChooser->setFileFilter(WildcardFileFilter("*.wav"));我把这个和它说的一样
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2020-01-18
    相关资源
    最近更新 更多