6

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

Qt有什么办法吗?

4

2 回答 2

6

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

这是我作为音频格式转换程序的一部分编写的增强文件对话框类的示例。代码有点过时,可能需要一些调整才能使用较新版本的 Qt(特别是在 Qt 4.6 和更高版本中,您可能需要在文件对话框对象上调用 setOption(DontUseNativeDialog) ,否则您会得到本机对话框和自定义小部件不会出现在 MacOS/X 下),但如果您想查看它的源代码,可以在源存档中找到。

于 2011-09-15T06:36:14.057 回答
3

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

结果

在此处输入图像描述

于 2011-09-15T06:34:46.920 回答