Qt customizing save file dialog

2019-04-29 22:46发布

I need to customize default Qt save file dialog: add some options in it. For example, adding some checkboxes with my own values in it between file type and save/close buttons.

Have Qt any ways to do it?

2条回答
我只想做你的唯一
2楼-- · 2019-04-29 23:05

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

result

enter image description here

查看更多
闹够了就滚
3楼-- · 2019-04-29 23:30

You can customize the Qt file dialog as long as you're okay with using the "non-native" Qt file dialog that comes with Qt; the other option Qt provides is to use the OS's native file dialog, but if you do that there is no way (that I'm aware of) to customize the dialog.

Here's an example of an enhanced file dialog class I wrote as part of an audio-format-conversion program. The code is a bit dated and may need a bit of tweaking to work with newer versions of Qt (in particular in Qt 4.6 and higher you'll probably need to call setOption(DontUseNativeDialog) on your file dialog object, otherwise you'll get the native dialog and custom widgets won't appear under MacOS/X), but the source code for it can be found in the source archive if you want to take a look.

查看更多
登录 后发表回答