QInputDialog Class
QInputDialogクラスは、ユーザーから単一の値を取得するための単純な便宜ダイアログを提供します。もっと詳しく...
ヘッダー | #include <QInputDialog> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
継承: | QDialog |
- 継承メンバを含む全メンバのリスト
- QInputDialogはStandard Dialogsの一部です。
パブリックタイプ
enum | InputDialogOption { NoButtons, UseListViewForComboBoxItems, UsePlainTextEditForTextInput } |
flags | InputDialogOptions |
enum | InputMode { TextInput, IntInput, DoubleInput } |
プロパティ
|
|
パブリック関数
QInputDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) | |
virtual | ~QInputDialog() |
QString | cancelButtonText() const |
QStringList | comboBoxItems() const |
int | doubleDecimals() const |
double | doubleMaximum() const |
double | doubleMinimum() const |
double | doubleStep() const |
double | doubleValue() const |
QInputDialog::InputMode | inputMode() const |
int | intMaximum() const |
int | intMinimum() const |
int | intStep() const |
int | intValue() const |
bool | isComboBoxEditable() const |
QString | labelText() const |
QString | okButtonText() const |
void | open(QObject *receiver, const char *member) |
QInputDialog::InputDialogOptions | options() const |
void | setCancelButtonText(const QString &text) |
void | setComboBoxEditable(bool editable) |
void | setComboBoxItems(const QStringList &items) |
void | setDoubleDecimals(int decimals) |
void | setDoubleMaximum(double max) |
void | setDoubleMinimum(double min) |
void | setDoubleRange(double min, double max) |
void | setDoubleStep(double step) |
void | setDoubleValue(double value) |
void | setInputMode(QInputDialog::InputMode mode) |
void | setIntMaximum(int max) |
void | setIntMinimum(int min) |
void | setIntRange(int min, int max) |
void | setIntStep(int step) |
void | setIntValue(int value) |
void | setLabelText(const QString &text) |
void | setOkButtonText(const QString &text) |
void | setOption(QInputDialog::InputDialogOption option, bool on = true) |
void | setOptions(QInputDialog::InputDialogOptions options) |
void | setTextEchoMode(QLineEdit::EchoMode mode) |
void | setTextValue(const QString &text) |
bool | testOption(QInputDialog::InputDialogOption option) const |
QLineEdit::EchoMode | textEchoMode() const |
QString | textValue() const |
再実装パブリック関数
virtual void | done(int result) override |
virtual QSize | minimumSizeHint() const override |
virtual void | setVisible(bool visible) override |
virtual QSize | sizeHint() const override |
シグナル
void | doubleValueChanged(double value) |
void | doubleValueSelected(double value) |
void | intValueChanged(int value) |
void | intValueSelected(int value) |
void | textValueChanged(const QString &text) |
void | textValueSelected(const QString &text) |
静的パブリック・メンバー
double | getDouble(QWidget *parent, const QString &title, const QString &label, double value = 0, double min = -2147483647, double max = 2147483647, int decimals = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), double step = 1) |
int | getInt(QWidget *parent, const QString &title, const QString &label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()) |
QString | getItem(QWidget *parent, const QString &title, const QString &label, const QStringList &items, int current = 0, bool editable = true, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone) |
QString | getMultiLineText(QWidget *parent, const QString &title, const QString &label, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone) |
QString | getText(QWidget *parent, const QString &title, const QString &label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone) |
詳細説明
入力値は文字列、数値、またはリストの項目です。何を入力すべきかをユーザーに伝えるために、ラベルを設定しなければならない。
getText ()、getMultiLineText ()、getInt ()、getDouble ()、getItem ()の5つの静的便利関数が用意されている。すべての関数は、例えば次のように同様に使用できる:
bool ok; QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"), tr("User name:"), QLineEdit::Normal, QDir::home().dirName(), &ok); if (ok && !text.isEmpty()) textLabel->setText(text);
ユーザーがOK をクリックした場合、ok
変数は true に設定され、そうでない場合は false に設定されます。
Standardダイアログの例では、Qt組み込みダイアログと同様にQInputDialogを使用する方法を示しています。
QMessageBox とStandard Dialogs の例も参照してください 。
メンバ型の説明
enum QInputDialog::InputDialogOption
flags QInputDialog::InputDialogOptions
この enum は、入力ダイアログのルック&フィールに影響する様々なオプションを指定します。
定数 | 値 | 説明 |
---|---|---|
QInputDialog::NoButtons | 0x00000001 | OK とCancel ボタンを表示しません (「ライブダイアログ」に便利です)。 |
QInputDialog::UseListViewForComboBoxItems | 0x00000002 | setComboBoxItems() で設定された項目の表示には、編集不可能なQComboBox ではなくQListView を使用します。 |
QInputDialog::UsePlainTextEditForTextInput | 0x00000004 | 複数行のテキスト入力にはQPlainTextEdit 。この値は5.2で導入されました。 |
InputDialogOptions型はQFlags<InputDialogOption>のtypedefです。InputDialogOptionの値のORの組み合わせを格納します。
options,setOption(),testOption()も参照してください 。
enum QInputDialog::InputMode
この列挙型は、ダイアログで選択できるさまざまな入力モードを記述します。
定数 | 値 | 説明 |
---|---|---|
QInputDialog::TextInput | 0 | 文字列の入力に使用されます。 |
QInputDialog::IntInput | 1 | 整数の入力に使用される。 |
QInputDialog::DoubleInput | 2 | 倍精度浮動小数点数の入力に使用。 |
inputModeも参照 。
プロパティの説明
cancelButtonText : QString
このプロパティは、ダイアログをキャンセルするためのボタンのテキストを保持します。
アクセス関数:
QString | cancelButtonText() const |
void | setCancelButtonText(const QString &text) |
comboBoxEditable : bool
このプロパティは、入力ダイアログで使用されるコンボボックスが編集可能かどうかを保持します。
アクセス関数:
bool | isComboBoxEditable() const |
void | setComboBoxEditable(bool editable) |
comboBoxItems : QStringList
このプロパティは、入力ダイアログのコンボボックスで使用される項目を保持する。
アクセス関数です:
QStringList | comboBoxItems() const |
void | setComboBoxItems(const QStringList &items) |
doubleDecimals : int
ダブルスピンボックスの精度を小数で設定します。
関数にアクセスします:
int | doubleDecimals() const |
void | setDoubleDecimals(int decimals) |
QDoubleSpinBox::setDecimals()も参照 。
doubleMaximum : double
このプロパティは、入力として受け入れられる最大倍精度浮動小数点値を保持する。
このプロパティは、入力ダイアログがDoubleInput モードで使用される場合にのみ関連します。
アクセス関数:
double | doubleMaximum() const |
void | setDoubleMaximum(double max) |
doubleMinimum : double
このプロパティは、入力として受け入れられる倍精度浮動小数点値の最小値を保持する。
このプロパティは、入力ダイアログがDoubleInput モードで使用される場合にのみ関連します。
アクセス関数:
double | doubleMinimum() const |
void | setDoubleMinimum(double min) |
doubleStep : double
このプロパティは、ダブル値が増減するステップを保持する。
このプロパティは、入力ダイアログがDoubleInput モードで使用される場合にのみ関連します。
アクセス関数
double | doubleStep() const |
void | setDoubleStep(double step) |
doubleValue : int
このプロパティは、入力として受け入れられる現在の倍精度浮動小数点値を保持する。
このプロパティは、入力ダイアログがDoubleInput モードで使用されている場合にのみ関連します。
アクセス関数:
double | doubleValue() const |
void | setDoubleValue(double value) |
ノーティファイアシグナル:
void | doubleValueChanged(double value) |
inputMode : InputMode
このプロパティは、入力に使用されるモードを保持する
このプロパティは、ダイアログへの入力に使用されるウィジェットを決定するのに役立ちます。
アクセス関数
QInputDialog::InputMode | inputMode() const |
void | setInputMode(QInputDialog::InputMode mode) |
intMaximum : int
このプロパティは、入力として受け入れられる整数の最大値を保持する。
このプロパティは、入力ダイアログがIntInput モードで使用される場合にのみ関連します。
アクセス関数:
int | intMaximum() const |
void | setIntMaximum(int max) |
intMinimum : int
このプロパティは、入力として受け入れられる最小の整数値を保持する。
このプロパティは、入力ダイアログがIntInput モードで使用される場合にのみ関連します。
アクセス関数:
int | intMinimum() const |
void | setIntMinimum(int min) |
intStep : int
このプロパティは、整数値の増減のステップを保持する。
このプロパティは、入力ダイアログがIntInput モードで使用される場合にのみ関連します。
アクセス関数
int | intStep() const |
void | setIntStep(int step) |
intValue : int
このプロパティは、入力として受け入れられた現在の整数値を保持する。
このプロパティは、入力ダイアログがIntInput モードで使用されている場合にのみ関連します。
アクセス関数
int | intValue() const |
void | setIntValue(int value) |
ノーティファイアシグナル:
void | intValueChanged(int value) |
labelText : QString
このプロパティは、入力が必要なラベルのテキストを保持します。
アクセス関数:
QString | labelText() const |
void | setLabelText(const QString &text) |
okButtonText : QString
このプロパティは、ダイアログの入力を受け付けるボタンのテキストを保持します。
アクセス関数:
QString | okButtonText() const |
void | setOkButtonText(const QString &text) |
options : InputDialogOptions
このプロパティは、ダイアログのルック&フィールに影響を与える様々なオプションを保持します。
デフォルトでは、すべてのオプションは無効になっています。
アクセス関数:
QInputDialog::InputDialogOptions | options() const |
void | setOptions(QInputDialog::InputDialogOptions options) |
setOption() およびtestOption()も参照してください 。
textEchoMode : QLineEdit::EchoMode
このプロパティは、テキスト値のエコーモードを保持する。
このプロパティは、入力ダイアログがTextInput モードで使用される場合にのみ関連します。
アクセス関数
QLineEdit::EchoMode | textEchoMode() const |
void | setTextEchoMode(QLineEdit::EchoMode mode) |
textValue : QString
このプロパティは入力ダイアログのテキスト値を保持する。
このプロパティは、入力ダイアログがTextInput モードで使用される場合にのみ関連します。
アクセス関数
QString | textValue() const |
void | setTextValue(const QString &text) |
ノーティファイアシグナル:
void | textValueChanged(const QString &text) |
メンバ関数ドキュメント
QInputDialog::QInputDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
与えられたparent とウィンドウflags で新しい入力ダイアログを構築する。
[virtual noexcept]
QInputDialog::~QInputDialog()
入力ダイアログを破棄する。
[override virtual]
void QInputDialog::done(int result)
再インプリメント:QDialog::done(int r)。
ダイアログを閉じ、その結果コードをresult に設定する。 このダイアログがexec() で表示されている場合、done() はローカル・イベント・ループを終了させ、exec() はresult を返す。
QDialog::done()も参照してください 。
[signal]
void QInputDialog::doubleValueChanged(double value)
このシグナルは、ダイアログ内でdoubleの値が変更されるたびに発せられます。現在の値はvalue で指定されます。
このシグナルは、入力ダイアログがDoubleInput モードで使用されている場合にのみ関連します。
注: プロパティdoubleValue に対するノーティファイアシグナル。
[signal]
void QInputDialog::doubleValueSelected(double value)
このシグナルは、例えばOK ボタンをクリックするなど、ユーザーがダイアログを受諾してダブル値を選択するたびに発せられる。選択された値はvalue で指定されます。
このシグナルは、入力ダイアログがDoubleInput モードで使用される場合にのみ関連します。
[static]
double QInputDialog::getDouble(QWidget *parent, const QString &title, const QString &label, double value = 0, double min = -2147483647, double max = 2147483647, int decimals = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), double step = 1)
ユーザから浮動小数点数を取得するための静的便宜関数。
title はダイアログのタイトルバーに表示されるテキストです。 はユーザーに表示されるテキストです(何を入力すべきかが書かれている必要があります)。 は行編集に設定されるデフォルトの浮動小数点数です。 と はユーザーが選択できる最小値と最大値です。 は小数点以下の桁数の最大値です。 はユーザーが矢印ボタンを押して値を増減させたときに変化する量です。label value min max decimals step
ok がnullでない場合、 *ok は、ユーザーがOK を押した場合はtrueに、Cancel を押した場合はfalseに設定されます。ダイアログの親はparent です。ダイアログはモーダルになり、ウィジェットflags を使用します。
この関数は、ユーザが入力した浮動小数点数を返します。
この静的関数はこのように使用します:
bool ok; double d = QInputDialog::getDouble(this, tr("QInputDialog::getDouble()"), tr("Amount:"), 37.56, -10000, 10000, 2, &ok, Qt::WindowFlags(), 1); if (ok) doubleLabel->setText(QString("$%1").arg(d));
getText()、getInt()、getItem()、getMultiLineText()も参照してください 。
[static]
int QInputDialog::getInt(QWidget *parent, const QString &title, const QString &label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
ユーザーから整数の入力を得るための静的な便利関数です。
title はダイアログのタイトルバーに表示されるテキストです。 はユーザーに表示されるテキストです(何を入力すべきかが書かれている必要があります)。 はスピンボックスに設定されるデフォルトの整数です。 と はユーザーが選択できる最小値と最大値です。 はユーザーが矢印ボタンを押して値をインクリメントまたはデクリメントするときに変化する量です。label value min max step
ok がnullでない場合 *ok は、ユーザーがOK を押した場合はtrueに、Cancel を押した場合はfalseに設定されます。ダイアログの親はparent です。ダイアログはモーダルになり、ウィジェットflags を使用します。
成功した場合、この関数はユーザが入力した整数を返します。失敗した場合、初期値value を返します。
この静的関数はこのように使用します:
bool ok; int i = QInputDialog::getInt(this, tr("QInputDialog::getInt()"), tr("Percentage:"), 25, 0, 100, 1, &ok); if (ok) integerLabel->setText(tr("%1%").arg(i));
getText(),getDouble(),getItem(),getMultiLineText()も参照してください 。
[static]
QString QInputDialog::getItem(QWidget *parent, const QString &title, const QString &label, const QStringList &items, int current = 0, bool editable = true, bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)
ユーザが文字列リストから項目を選択するための静的便利関数。
title label items はコンボボックスに挿入される文字列リストです。 は現在の項目となるべき項目の番号です。 はコンボボックスが編集可能で入力メソッドがアクティブな場合に使用される入力メソッドのヒントです。current inputMethodHints
もしeditable がtrueの場合、ユーザは自分のテキストを入力することができます。そうでない場合、ユーザは既存の項目の中から1つだけ選択することができます。
ok が nonnull の場合、ユーザーがOK を押した場合は*ok がtrue に、Cancel を押した場合は false に設定されます。ダイアログの親はparent です。ダイアログはモーダルになり、ウィジェットflags を使用します。
この関数は、現在の項目のテキストを返します。editable が true の場合は、コンボボックスの現在のテキストを返します。
この静的関数はこのように使用します:
QStringList items; items << tr("Spring") << tr("Summer") << tr("Fall") << tr("Winter"); bool ok; QString item = QInputDialog::getItem(this, tr("QInputDialog::getItem()"), tr("Season:"), items, 0, false, &ok); if (ok && !item.isEmpty()) itemLabel->setText(item);
getText(),getInt(),getDouble(),getMultiLineText()も参照してください 。
[static]
QString QInputDialog::getMultiLineText(QWidget *parent, const QString &title, const QString &label, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)
ユーザーから複数行の文字列を取得するための静的便宜関数。
title はダイアログのタイトルバーに表示されるテキストです。 はユーザーに表示されるテキストです(何を入力すべきかが書かれている必要があります)。 はプレーンテキストの編集に配置されるデフォルトのテキストです。 は入力メソッドがアクティブな場合に編集ウィジェットで使用される入力メソッドのヒントです。label text inputMethodHints
ok が nonnull の場合、ユーザーがOK を押した場合は*ok がtrue に、Cancel を押した場合は false に設定されます。ダイアログの親はparent です。ダイアログはモーダルになり、指定されたウィジェットflags を使用します。
ダイアログが受け入れられた場合、この関数はダイアログのプレーンテキスト編集のテキストを返します。ダイアログが拒否された場合、NULLQString が返されます。
この静的関数はこのように使用します:
bool ok; QString text = QInputDialog::getMultiLineText(this, tr("QInputDialog::getMultiLineText()"), tr("Address:"), "John Doe\nFreedom Street", &ok); if (ok && !text.isEmpty()) multiLineTextLabel->setText(text);
getInt(),getDouble(),getItem(),getText()も参照してください 。
[static]
QString QInputDialog::getText(QWidget *parent, const QString &title, const QString &label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString &text = QString(), bool *ok = nullptr, Qt::WindowFlags flags = Qt::WindowFlags(), Qt::InputMethodHints inputMethodHints = Qt::ImhNone)
ユーザーから文字列を取得するための静的便宜関数。
title はダイアログのタイトルバーに表示されるテキストです。 はユーザーに表示されるテキストです(何を入力すべきかが書かれている必要があります)。 は行編集に配置されるデフォルトのテキストです。 は行編集が使用するエコーモードです。 は入力メソッドがアクティブな場合に編集ウィジェットで使用される入力メソッドのヒントです。label text mode inputMethodHints
ok が nonnull の場合、ユーザがOK を押した場合は*ok がtrue に、Cancel を押した場合は false に設定されます。ダイアログの親はparent です。ダイアログはモーダルになり、指定されたウィジェットflags を使用します。
ダイアログが受け入れられた場合、この関数はダイアログの行編集のテキストを返します。ダイアログが拒否された場合、NULLQString が返されます。
この静的関数はこのように使用します:
bool ok; QString text = QInputDialog::getText(this, tr("QInputDialog::getText()"), tr("User name:"), QLineEdit::Normal, QDir::home().dirName(), &ok); if (ok && !text.isEmpty()) textLabel->setText(text);
getInt(),getDouble(),getItem(),getMultiLineText()も参照してください 。
[signal]
void QInputDialog::intValueChanged(int value)
このシグナルは、ダイアログ内の整数値が変更されるたびに発行されます。現在の値はvalue で指定されます。
このシグナルは、入力ダイアログがIntInput モードで使用されている場合にのみ関連します。
注意: intValue プロパティのノーティファイアシグナルです。
[signal]
void QInputDialog::intValueSelected(int value)
このシグナルは、例えばOK ボタンをクリックするなど、ユーザーがダイアログを受 け入れて整数値を選択するたびに発せられる。選択された値はvalue で指定されます。
このシグナルは、入力ダイアログがIntInput モードで使用されている場合にのみ関連します。
[override virtual]
QSize QInputDialog::minimumSizeHint() const
再実装:QDialog::minimumSizeHint() const.
void QInputDialog::open(QObject *receiver, const char *member)
この関数は、receiver とmember で指定されたスロットにシグナルの1つを接続する。特定のシグナルは、member で指定された引数に依存する。これらは以下の通りである:
- textValueSelected member の第1引数が の場合、() 。QString
- intValueSelected()member の第1引数が int の場合。
- doubleValueSelected()member の第1引数がdoubleの場合。
- accepted()member に引数がない場合。
ダイアログが閉じられると、シグナルはスロットから切断されます。
void QInputDialog::setDoubleRange(double min, double max)
min とmax でそれぞれ最小値と最大値を指定し、DoubleInput モードで使用する場合にダイアログが受け付ける倍精度浮動小数点値の範囲を設定します。
void QInputDialog::setIntRange(int min, int max)
IntInput モードで使用するときにダイアログが受け付ける整数値の範囲を設定します。最小値と最大値はそれぞれmin とmax で指定します。
void QInputDialog::setOption(QInputDialog::InputDialogOption option, bool on = true)
on が true の場合、与えられたoption を有効にする。そうでない場合、与えられたoption をクリアする。
options およびtestOption()も参照のこと 。
[override virtual]
void QInputDialog::setVisible(bool visible)
再インプリメント:QDialog::setVisible(bool visible).
[override virtual]
QSize QInputDialog::sizeHint() const
再実装:QDialog::sizeHint() const.
bool QInputDialog::testOption(QInputDialog::InputDialogOption option) const
与えられたoption が有効であればtrue
を返し、そうでなければ false を返す。
[signal]
void QInputDialog::textValueChanged(const QString &text)
このシグナルは、ダイアログ内の文字列が変更されるたびに発行される。現在の文字列はtext で指定されます。
このシグナルは、入力ダイアログがTextInput モードで使用されている場合にのみ関連します。
注意: textValue プロパティのノーティファイアシグナルです。
[signal]
void QInputDialog::textValueSelected(const QString &text)
このシグナルは、ユーザーがダイアログを受諾して文字列を選択するたびに発せられる。例えば、OK ボタンをクリックする。選択された文字列はtext で指定されます。
このシグナルは、入力ダイアログがTextInput モードで使用される場合にのみ関連します。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.