开发者

Qt customizing save file dialog

开发者 https://www.devze.com 2023-04-05 04:32 出处:网络
I need to customize default Qt save file dialog: add some options in it. For example, adding some checkboxes with my own va开发者_JS百科lues in it between file type and save/close buttons.

I need to customize default Qt save file dialog: add some options in it. For example, adding some checkboxes with my own va开发者_JS百科lues in it between file type and save/close buttons.

Have Qt any ways to do it?


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:

Qt customizing save file dialog

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 GitHub repository if you want to take a look.


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

Qt customizing save file dialog

0

精彩评论

暂无评论...
验证码 换一张
取 消