QInputDialog Class
QInputDialogクラスは、ユーザーから単一の値を取得するための単純な便宜ダイアログを提供します。詳細...
Header: | #include <QInputDialog> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | 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も参照 。
プロパティ Documentation
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 がnullでない場合、*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)
この関数は、シグナルの1つをreceiver とmember で指定されたスロットに接続します。具体的なシグナルは、member で指定された引数に依存します。これらは以下の通りである:
- textValueSelected()member の第1引数がQString の場合。
- intValueSelected()member の第1引数が int の場合。
- doubleValueSelected()member の第1引数がdoubleの場合。
- accepted()member に引数がない場合。
ダイアログが閉じられると、シグナルはスロットから切断される。
void QInputDialog::setDoubleRange(double min, double max)
DoubleInput モードで使用するときにダイアログが受け付ける倍精度浮動小数点値の範囲を設定します。最小値と最大値はそれぞれmin とmax で指定します。
void QInputDialog::setIntRange(int min, int max)
IntInput モードで使用するときにダイアログが受け付ける整数値の範囲を設定します。最小値と最大値はそれぞれmin とmax で指定します。
void QInputDialog::setOption(QInputDialog::InputDialogOption option, bool on = true)
on が真であれば、与えられた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 を返します。
options およびsetOption()も参照してください 。
[signal]
void QInputDialog::textValueChanged(const QString &text)
このシグナルは、ダイアログ内の文字列が変更されるたびに発行されます。現在の文字列はtext で指定されます。
このシグナルは、入力ダイアログがTextInput モードで使用されている場合にのみ関連します。
注: プロパティtextValue に対するノーティファイアシグナル。
[signal]
void QInputDialog::textValueSelected(const QString &text)
このシグナルは、例えばOK ボタンをクリックするなどして、ユーザーがダイアログを受諾して文字列を選択するたびに発せられます。選択された文字列はtext で指定されます。
このシグナルは、入力ダイアログがTextInput モードで使用される場合にのみ関連します。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。