Qt自定义保存文件对话框

时间:2011-09-15 06:16:13

标签: c++ qt custom-controls savefiledialog filedialog

我需要自定义默认的Qt保存文件对话框:在其中添加一些选项。例如,在文件类型和保存/关闭按钮之间添加一些带有我自己的值的复选框。

有Qt的任何方法吗?

2 个答案:

答案 0 :(得分:5)

只要您使用Qt附带的“非原生”Qt文件对话框,您就可以自定义Qt文件对话框; Qt提供的另一个选项是使用操作系统的本机文件对话框,但如果你这样做,我就无法(我知道)自定义对话框。

Here's我作为audio-format-conversion program的一部分编写的增强文件对话框类的示例。代码有点过时,可能需要稍微调整才能使用更新版本的Qt(特别是在Qt 4.6及更高版本中,您可能需要在文件对话框对象上调用setOption(DontUseNativeDialog),否则您将获得原生对话框和自定义小部件不会出现在MacOS / X下,但如果您想查看,可以在source archive中找到它的源代码。

答案 1 :(得分:2)

cfd.h

#include <QFileDialog>
#include <QPushButton>

class cfd : public QFileDialog
{
public:
    cfd();
};

cfd.cpp

#include "cfd.h"

cfd::cfd()
{
    ((QWidget*)this->children().at(3))->setFixedSize(200,200);
    (new QPushButton(this))->setFixedSize(300,30);
}

结果

enter image description here