DtkWidget 5.6.0.2
DTK Widget module
dfilechooseredit.h
1// SPDX-FileCopyrightText: 2015 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DFILECHOOSEREDIT_H
6#define DFILECHOOSEREDIT_H
7
8#include <DLineEdit>
9#include <QFileDialog>
10
11DWIDGET_BEGIN_NAMESPACE
12
13class DFileChooserEditPrivate;
14class LIBDTKWIDGETSHARED_EXPORT DFileChooserEdit : public DLineEdit
15{
16 Q_OBJECT
17
18 Q_ENUMS(DialogDisplayPosition)
19
20public:
21 enum DialogDisplayPosition {
22 FollowParentWindow,
23 CurrentMonitorCenter
24 };
25
26 DFileChooserEdit(QWidget *parent = nullptr);
27
28 void setFileMode(QFileDialog::FileMode mode);
29 QFileDialog::FileMode fileMode() const;
30
31 void setNameFilters(const QStringList &filters);
32 QStringList nameFilters() const;
33
34 void setDirectoryUrl(const QUrl &directory);
35 QUrl directoryUrl();
36
37 void setDialogDisplayPosition(DialogDisplayPosition dialogDisplayPosition);
38 DFileChooserEdit::DialogDisplayPosition dialogDisplayPosition() const;
39
40 void setFileDialog(QFileDialog *fileDialog);
41 QFileDialog *fileDialog() const;
42
43 void initDialog();
44
45Q_SIGNALS:
46 void fileChoosed(const QString &fileName);
48 void dialogClosed(int code);
49
50protected:
51 Q_DISABLE_COPY(DFileChooserEdit)
52 D_DECLARE_PRIVATE(DFileChooserEdit)
53 Q_PRIVATE_SLOT(d_func(), void _q_showFileChooserDialog())
54};
55
56DWIDGET_END_NAMESPACE
57
58#endif // DFILECHOOSEREDIT_H
带有选择文件按钮的文本编辑框.
Definition: dfilechooseredit.h:15
void fileChoosed(const QString &fileName)
这个信号在文件被选择且点击了对话框的确认按钮之后被调用 fileName 被选中的文件名,包含其绝对路径
void dialogClosed(int code)
这信号在对话框关闭时被调用,无论对话框是被点击了确认还是取消,都会调用本信号 code 对话框的返回码,返回码表示了对话框是因为点击了取消还是确认而关闭的
void dialogOpened()
这个信号在对话框即将显示时被调用
DLineEdit一个聚合 QLineEdit 的输入框.
Definition: dlineedit.h:20