Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qinputdialog.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QINPUTDIALOG_H
6#define QINPUTDIALOG_H
7
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtCore/qstring.h>
10#include <QtWidgets/qlineedit.h>
11
12#include <QtWidgets/qdialog.h>
13
15
16QT_BEGIN_NAMESPACE
17
18class QInputDialogPrivate;
19
20class Q_WIDGETS_EXPORT QInputDialog : public QDialog
21{
22 Q_OBJECT
23 Q_DECLARE_PRIVATE(QInputDialog)
24 QDOC_PROPERTY(InputMode inputMode READ inputMode WRITE setInputMode)
25 QDOC_PROPERTY(QString labelText READ labelText WRITE setLabelText)
26 QDOC_PROPERTY(InputDialogOptions options READ options WRITE setOptions)
27 QDOC_PROPERTY(QString textValue READ textValue WRITE setTextValue NOTIFY textValueChanged)
28 QDOC_PROPERTY(int intValue READ intValue WRITE setIntValue NOTIFY intValueChanged)
29 QDOC_PROPERTY(int doubleValue READ doubleValue WRITE setDoubleValue NOTIFY doubleValueChanged)
30 QDOC_PROPERTY(QLineEdit::EchoMode textEchoMode READ textEchoMode WRITE setTextEchoMode)
31 QDOC_PROPERTY(bool comboBoxEditable READ isComboBoxEditable WRITE setComboBoxEditable)
32 QDOC_PROPERTY(QStringList comboBoxItems READ comboBoxItems WRITE setComboBoxItems)
33 QDOC_PROPERTY(int intMinimum READ intMinimum WRITE setIntMinimum)
34 QDOC_PROPERTY(int intMaximum READ intMaximum WRITE setIntMaximum)
35 QDOC_PROPERTY(int intStep READ intStep WRITE setIntStep)
36 QDOC_PROPERTY(double doubleMinimum READ doubleMinimum WRITE setDoubleMinimum)
37 QDOC_PROPERTY(double doubleMaximum READ doubleMaximum WRITE setDoubleMaximum)
38 QDOC_PROPERTY(int doubleDecimals READ doubleDecimals WRITE setDoubleDecimals)
39 QDOC_PROPERTY(QString okButtonText READ okButtonText WRITE setOkButtonText)
40 QDOC_PROPERTY(QString cancelButtonText READ cancelButtonText WRITE setCancelButtonText)
41 QDOC_PROPERTY(double doubleStep READ doubleStep WRITE setDoubleStep)
42
43public:
44 enum InputDialogOption {
45 NoButtons = 0x00000001,
46 UseListViewForComboBoxItems = 0x00000002,
47 UsePlainTextEditForTextInput = 0x00000004
48 };
49
50 Q_DECLARE_FLAGS(InputDialogOptions, InputDialogOption)
51
52 enum InputMode {
53 TextInput,
54 IntInput,
55 DoubleInput
56 };
57
58 QInputDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
59 ~QInputDialog();
60
61 void setInputMode(InputMode mode);
62 InputMode inputMode() const;
63
64 void setLabelText(const QString &text);
65 QString labelText() const;
66
67 void setOption(InputDialogOption option, bool on = true);
68 bool testOption(InputDialogOption option) const;
69 void setOptions(InputDialogOptions options);
70 InputDialogOptions options() const;
71
72 void setTextValue(const QString &text);
73 QString textValue() const;
74
75 void setTextEchoMode(QLineEdit::EchoMode mode);
76 QLineEdit::EchoMode textEchoMode() const;
77
78 void setComboBoxEditable(bool editable);
79 bool isComboBoxEditable() const;
80
81 void setComboBoxItems(const QStringList &items);
82 QStringList comboBoxItems() const;
83
84 void setIntValue(int value);
85 int intValue() const;
86
87 void setIntMinimum(int min);
88 int intMinimum() const;
89
90 void setIntMaximum(int max);
91 int intMaximum() const;
92
93 void setIntRange(int min, int max);
94
95 void setIntStep(int step);
96 int intStep() const;
97
98 void setDoubleValue(double value);
99 double doubleValue() const;
100
101 void setDoubleMinimum(double min);
102 double doubleMinimum() const;
103
104 void setDoubleMaximum(double max);
105 double doubleMaximum() const;
106
107 void setDoubleRange(double min, double max);
108
109 void setDoubleDecimals(int decimals);
110 int doubleDecimals() const;
111
112 void setOkButtonText(const QString &text);
113 QString okButtonText() const;
114
115 void setCancelButtonText(const QString &text);
116 QString cancelButtonText() const;
117
118 using QDialog::open;
119 void open(QObject *receiver, const char *member);
120
121 QSize minimumSizeHint() const override;
122 QSize sizeHint() const override;
123
124 void setVisible(bool visible) override;
125
126 static QString getText(QWidget *parent, const QString &title, const QString &label,
127 QLineEdit::EchoMode echo = QLineEdit::Normal,
128 const QString &text = QString(), bool *ok = nullptr,
129 Qt::WindowFlags flags = Qt::WindowFlags(),
130 Qt::InputMethodHints inputMethodHints = Qt::ImhNone);
131 static QString getMultiLineText(QWidget *parent, const QString &title, const QString &label,
132 const QString &text = QString(), bool *ok = nullptr,
133 Qt::WindowFlags flags = Qt::WindowFlags(),
134 Qt::InputMethodHints inputMethodHints = Qt::ImhNone);
135 static QString getItem(QWidget *parent, const QString &title, const QString &label,
136 const QStringList &items, int current = 0, bool editable = true,
137 bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(),
138 Qt::InputMethodHints inputMethodHints = Qt::ImhNone);
139
140 static int getInt(QWidget *parent, const QString &title, const QString &label, int value = 0,
141 int minValue = -2147483647, int maxValue = 2147483647,
142 int step = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
143
144 static double getDouble(QWidget *parent, const QString &title, const QString &label, double value = 0,
145 double minValue = -2147483647, double maxValue = 2147483647,
146 int decimals = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(),
147 double step = 1);
148
149 void setDoubleStep(double step);
150 double doubleStep() const;
151
152Q_SIGNALS:
153 void textValueChanged(const QString &text);
154 void textValueSelected(const QString &text);
155 void intValueChanged(int value);
156 void intValueSelected(int value);
157 void doubleValueChanged(double value);
158 void doubleValueSelected(double value);
159
160public:
161 void done(int result) override;
162
163private:
164 Q_DISABLE_COPY(QInputDialog)
165};
166
167Q_DECLARE_OPERATORS_FOR_FLAGS(QInputDialog::InputDialogOptions)
168
169QT_END_NAMESPACE
170
171#endif // QINPUTDIALOG_H
QInputDialogListView(QWidget *parent=nullptr)
QVariant inputMethodQuery(Qt::InputMethodQuery query) const override
\reimp
void textChanged(const QString &text)
void ensureLayout() const
void setComboBoxText(const QString &text)
QVBoxLayout * mainLayout
void setInputWidget(QWidget *widget)
QPointer< QObject > receiverToDisconnectOnClose
QDoubleSpinBox * doubleSpinBox
bool useComboBoxOrListView() const
void ensureEnabledConnection(QAbstractSpinBox *spinBox)
QDialogButtonBox * buttonBox
void setListViewText(const QString &text)
QPlainTextEdit * plainTextEdit
QByteArray memberToDisconnectOnClose
void currentRowChanged(const QModelIndex &newIndex, const QModelIndex &oldIndex)
QString listViewText() const
QInputDialogListView * listView
The QInputDialog class provides a simple convenience dialog to get a single value from the user.
static const char * signalForMember(const char *member)
CandidateSignal
@ NumCandidateSignals
@ DoubleValueSelectedSignal
@ IntValueSelectedSignal
@ TextValueSelectedSignal
static const char * candidateSignal(int which)
QT_REQUIRE_CONFIG(inputdialog)