我需要自定义默认的Qt保存文件对话框:在其中添加一些选项。例如,在文件类型和保存/关闭按钮之间添加一些带有我自己的值的复选框。
有Qt的任何方法吗?
答案 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);
}
结果