QInputDialog Class
La clase QInputDialog proporciona un simple diálogo de conveniencia para obtener un único valor del usuario. Más...
| Cabecera: | #include <QInputDialog> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QDialog |
- Lista de todos los miembros, incluyendo los heredados
- QInputDialog es parte de Standard Dialogs.
Tipos Públicos
| enum | InputDialogOption { NoButtons, UseListViewForComboBoxItems, UsePlainTextEditForTextInput } |
| flags | InputDialogOptions |
| enum | InputMode { TextInput, IntInput, DoubleInput } |
Propiedades
|
|
Funciones públicas
| 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 |
Funciones públicas reimplementadas
| virtual void | done(int result) override |
| virtual QSize | minimumSizeHint() const override |
| virtual void | setVisible(bool visible) override |
| virtual QSize | sizeHint() const override |
Señales
| 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) |
Miembros públicos estáticos
| 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) |
Descripción detallada
El valor de entrada puede ser una cadena, un número o un elemento de una lista. Debe establecerse una etiqueta para indicar al usuario lo que debe introducir.
Se proporcionan cinco funciones estáticas: getText(), getMultiLineText(), getInt(), getDouble() y getItem(). Todas las funciones pueden utilizarse de forma similar, por ejemplo:
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);
La variable ok se establece en true si el usuario hace clic en OK; de lo contrario, se establece en false.

El ejemplo de Standard Dialogs muestra como usar QInputDialog así como otros diálogos incorporados en Qt.
Ver también QMessageBox y Ejemplo de Diálogos Estándar.
Documentación de Tipos de Miembros
enum QInputDialog::InputDialogOption
flags QInputDialog::InputDialogOptions
Este enum especifica varias opciones que afectan al aspecto de un diálogo de entrada.
| Constante | Valor | Descripción |
|---|---|---|
QInputDialog::NoButtons | 0x00000001 | No mostrar los botones OK y Cancel (útil para "diálogos en vivo"). |
QInputDialog::UseListViewForComboBoxItems | 0x00000002 | Utilice QListView en lugar de QComboBox para mostrar los elementos definidos con setComboBoxItems(). |
QInputDialog::UsePlainTextEditForTextInput | 0x00000004 | Utilice QPlainTextEdit para la introducción de texto multilínea. Este valor se introdujo en 5.2. |
El tipo InputDialogOptions es un typedef para QFlags<InputDialogOption>. Almacena una combinación OR de valores InputDialogOption.
Ver también options, setOption(), y testOption().
enum QInputDialog::InputMode
Este enum describe los diferentes modos de entrada que se pueden seleccionar para el diálogo.
| Constante | Valor | Descripción |
|---|---|---|
QInputDialog::TextInput | 0 | Se utiliza para introducir cadenas de texto. |
QInputDialog::IntInput | 1 | Se utiliza para introducir números enteros. |
QInputDialog::DoubleInput | 2 | Se utiliza para introducir números en coma flotante con doble precisión. |
Véase también inputMode.
Documentación de propiedades
cancelButtonText : QString
Esta propiedad contiene el texto del botón utilizado para cancelar el diálogo
Funciones de acceso:
| QString | cancelButtonText() const |
| void | setCancelButtonText(const QString &text) |
comboBoxEditable : bool
Esta propiedad indica si el cuadro combinado utilizado en el diálogo de entrada es editable o no
Funciones de acceso:
| bool | isComboBoxEditable() const |
| void | setComboBoxEditable(bool editable) |
comboBoxItems : QStringList
Esta propiedad contiene los elementos utilizados en el cuadro combinado del diálogo de entrada
Funciones de acceso:
| QStringList | comboBoxItems() const |
| void | setComboBoxItems(const QStringList &items) |
doubleDecimals : int
fija la precisión de la spinbox doble en decimales
Funciones de acceso:
| int | doubleDecimals() const |
| void | setDoubleDecimals(int decimals) |
Véase también QDoubleSpinBox::setDecimals().
doubleMaximum : double
Esta propiedad contiene el valor máximo en coma flotante de doble precisión aceptado como entrada.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo DoubleInput.
Funciones de acceso:
| double | doubleMaximum() const |
| void | setDoubleMaximum(double max) |
doubleMinimum : double
Esta propiedad contiene el valor mínimo de coma flotante de doble precisión aceptado como entrada.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo DoubleInput.
Funciones de acceso:
| double | doubleMinimum() const |
| void | setDoubleMinimum(double min) |
doubleStep : double
Esta propiedad contiene el paso por el cual el valor doble se incrementa y disminuye
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo DoubleInput.
Funciones de acceso:
| double | doubleStep() const |
| void | setDoubleStep(double step) |
doubleValue : int
Esta propiedad contiene el valor actual de coma flotante de doble precisión aceptado como entrada.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo DoubleInput.
Funciones de acceso:
| double | doubleValue() const |
| void | setDoubleValue(double value) |
Señal del notificador:
| void | doubleValueChanged(double value) |
inputMode : InputMode
Esta propiedad contiene el modo utilizado para la entrada
Esta propiedad ayuda a determinar qué widget se utiliza para introducir datos en el diálogo.
Funciones de acceso:
| QInputDialog::InputMode | inputMode() const |
| void | setInputMode(QInputDialog::InputMode mode) |
intMaximum : int
Esta propiedad contiene el valor entero máximo aceptado como entrada.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo IntInput.
Funciones de acceso:
| int | intMaximum() const |
| void | setIntMaximum(int max) |
intMinimum : int
Esta propiedad contiene el valor entero mínimo aceptado como entrada.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo IntInput.
Funciones de acceso:
| int | intMinimum() const |
| void | setIntMinimum(int min) |
intStep : int
Esta propiedad contiene el paso por el cual el valor entero se incrementa y decrementa.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo IntInput.
Funciones de acceso:
| int | intStep() const |
| void | setIntStep(int step) |
intValue : int
Esta propiedad contiene el valor entero actual aceptado como entrada.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo IntInput.
Funciones de acceso:
| int | intValue() const |
| void | setIntValue(int value) |
Señal del notificador:
| void | intValueChanged(int value) |
labelText : QString
Esta propiedad contiene el texto de la etiqueta que describe lo que hay que introducir.
Funciones de acceso:
| QString | labelText() const |
| void | setLabelText(const QString &text) |
okButtonText : QString
Esta propiedad contiene el texto del botón utilizado para aceptar la entrada en el diálogo
Funciones de acceso:
| QString | okButtonText() const |
| void | setOkButtonText(const QString &text) |
options : InputDialogOptions
Esta propiedad contiene las distintas opciones que afectan al aspecto del cuadro de diálogo
Por defecto, todas las opciones están desactivadas.
Funciones de acceso:
| QInputDialog::InputDialogOptions | options() const |
| void | setOptions(QInputDialog::InputDialogOptions options) |
Véase también setOption() y testOption().
textEchoMode : QLineEdit::EchoMode
Esta propiedad contiene el modo de eco para el valor de texto
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo TextInput.
Funciones de acceso:
| QLineEdit::EchoMode | textEchoMode() const |
| void | setTextEchoMode(QLineEdit::EchoMode mode) |
textValue : QString
Esta propiedad contiene el valor del texto para el diálogo de entrada.
Esta propiedad sólo es relevante cuando el diálogo de entrada se utiliza en modo TextInput.
Funciones de acceso:
| QString | textValue() const |
| void | setTextValue(const QString &text) |
Señal del notificador:
| void | textValueChanged(const QString &text) |
Documentación de la función miembro
QInputDialog::QInputDialog(QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags())
Construye un nuevo diálogo de entrada con la dirección parent y la ventana flags.
[virtual noexcept] QInputDialog::~QInputDialog()
Destruye el diálogo de entrada.
[override virtual] void QInputDialog::done(int result)
Reimplementa: QDialog::done(int r).
Cierra el diálogo y establece su código de resultado a result. Si este diálogo se muestra con exec(), done() hace que el bucle de eventos local termine, y exec() devuelva result.
Véase también QDialog::done().
[signal] void QInputDialog::doubleValueChanged(double value)
Esta señal se emite cada vez que cambia el valor doble en el diálogo. El valor actual se especifica en value.
Esta señal sólo es relevante cuando el diálogo de entrada se utiliza en modo DoubleInput.
Nota: Señal notificadora para la propiedad doubleValue.
[signal] void QInputDialog::doubleValueSelected(double value)
Esta señal se emite siempre que el usuario selecciona un valor doble aceptando el diálogo; por ejemplo, pulsando el botón OK. El valor seleccionado se especifica en value.
Esta señal sólo es relevante cuando el diálogo de entrada se utiliza en modo 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)
Función estática para obtener un número en coma flotante del usuario.
title es el texto que se muestra en la barra de título del cuadro de diálogo. label es el texto que se muestra al usuario (debe decir lo que se debe introducir). value es el número de coma flotante por defecto al que se ajustará la edición de línea. min y max son los valores mínimo y máximo que puede elegir el usuario. decimals es el número máximo de decimales que puede tener el número. step es la cantidad en la que cambian los valores a medida que el usuario pulsa los botones de flecha para aumentar o disminuir el valor.
Si ok no es nulo, *ok será verdadero si el usuario pulsa OK y falso si pulsa Cancel. El padre del diálogo es parent. El diálogo será modal y utiliza el widget flags.
Esta función devuelve el número en coma flotante que ha sido introducido por el usuario.
Utilice esta función estática así:
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(QStringLiteral("$%1").arg(d));
Véase también getText(), getInt(), getItem(), y 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())
Función estática para obtener una entrada entera del usuario.
title es el texto que se muestra en la barra de título del cuadro de diálogo. label es el texto que se muestra al usuario (debe decir lo que se debe introducir). value es el número entero por defecto al que se ajustará el cuadro de giro. min y max son los valores mínimo y máximo que el usuario puede elegir. step es la cantidad en la que cambian los valores a medida que el usuario pulsa los botones de flecha para aumentar o disminuir el valor.
Si ok no es nulo *ok se convertirá en verdadero si el usuario pulsa OK y en falso si pulsa Cancel. El padre del diálogo es parent. El diálogo será modal y utilizará el widget flags.
En caso de éxito, esta función devuelve el entero que ha introducido el usuario; en caso de fallo, devuelve el inicial value.
Utilice esta función estática de la siguiente manera:
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));
Véase también getText(), getDouble(), getItem(), y 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)
Función estática que permite al usuario seleccionar un elemento de una lista de cadenas.
title es el texto que se muestra en la barra de título del cuadro de diálogo. label es el texto que se muestra al usuario (debe decir lo que se debe introducir). items es la lista de cadenas que se inserta en el cuadro combinado. current es el número del elemento que debe ser el elemento actual. inputMethodHints son las sugerencias del método de entrada que se utilizarán si el cuadro combinado es editable y hay un método de entrada activo.
Si editable es verdadero, el usuario puede introducir su propio texto; en caso contrario, el usuario sólo podrá seleccionar uno de los elementos existentes.
Si ok no es nulo, *ok será verdadero si el usuario pulsa OK y falso si pulsa Cancel. El padre del diálogo es parent. El diálogo será modal y utiliza el widget flags.
Esta función devuelve el texto del elemento actual, o si editable es verdadero, el texto actual del cuadro combinado.
Utilice esta función estática de la siguiente manera:
const QStringList 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);
Véase también getText(), getInt(), getDouble(), y 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)
Función estática para obtener una cadena multilínea del usuario.
title es el texto que se muestra en la barra de título del diálogo. label es el texto que se muestra al usuario (debe decir lo que se debe introducir). text es el texto por defecto que se coloca en la edición de texto plano. inputMethodHints son las pistas del método de entrada que se utilizarán en el widget de edición si hay un método de entrada activo.
Si ok no es nulo *ok se pondrá a true si el usuario ha pulsado OK y a false si ha pulsado Cancel. El padre del diálogo es parent. El diálogo será modal y utilizará el widget especificado flags.
Si el diálogo es aceptado, esta función devuelve el texto en la edición de texto plano del diálogo. Si el diálogo es rechazado, se devuelve un QString nulo.
Utilice esta función estática de la siguiente manera:
bool ok{}; QString text = QInputDialog::getMultiLineText(this, tr("QInputDialog::getMultiLineText()"), tr("Address:"), "John Doe\nFreedom Street"_L1, &ok); if (ok && !text.isEmpty()) multiLineTextLabel->setText(text);
Véase también getInt(), getDouble(), getItem(), y 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)
Función estática para obtener una cadena del usuario.
title es el texto que se muestra en la barra de título del diálogo. label es el texto que se muestra al usuario (debe decir lo que se debe introducir). text es el texto por defecto que se coloca en la edición de línea. mode es el modo de eco que utilizará la edición de línea. inputMethodHints son las pistas del método de entrada que se utilizarán en el widget de edición si hay un método de entrada activo.
Si ok no es nulo *ok se pondrá a true si el usuario pulsó OK y a false si el usuario pulsó Cancel. El padre del diálogo es parent. El diálogo será modal y utilizará el widget especificado flags.
Si el diálogo es aceptado, esta función devuelve el texto de la línea de edición del diálogo. Si el diálogo es rechazado, se devuelve un QString nulo.
Utilice esta función estática de la siguiente manera:
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);
Véase también getInt(), getDouble(), getItem(), y getMultiLineText().
[signal] void QInputDialog::intValueChanged(int value)
Esta señal se emite cada vez que cambia el valor entero en el diálogo. El valor actual se especifica en value.
Esta señal sólo es relevante cuando el diálogo de entrada se utiliza en modo IntInput.
Nota: Señal notificadora para la propiedad intValue.
[signal] void QInputDialog::intValueSelected(int value)
Esta señal se emite siempre que el usuario selecciona un valor entero aceptando el diálogo; por ejemplo, pulsando el botón OK. El valor seleccionado se especifica en value.
Esta señal sólo es relevante cuando el diálogo de entrada se utiliza en modo IntInput.
[override virtual] QSize QInputDialog::minimumSizeHint() const
Reimplementa: QDialog::minimumSizeHint() const.
void QInputDialog::open(QObject *receiver, const char *member)
Esta función conecta una de sus señales a la ranura especificada en receiver y member. La señal específica depende de los argumentos que se especifican en member. Éstos son:
- textValueSelected() si member tiene un QString como primer argumento.
- intValueSelected() si member tiene un int como primer argumento.
- doubleValueSelected() si member tiene un double como primer argumento.
- accepted() si member NO tiene argumentos.
La señal se desconectará de la ranura cuando se cierre el diálogo.
void QInputDialog::setDoubleRange(double min, double max)
Establece el rango de valores de coma flotante de doble precisión aceptados por el diálogo cuando se utiliza en modo DoubleInput, con valores mínimo y máximo especificados por min y max respectivamente.
void QInputDialog::setIntRange(int min, int max)
Establece el rango de valores enteros aceptados por el diálogo cuando se utiliza en modo IntInput, con valores mínimo y máximo especificados por min y max respectivamente.
void QInputDialog::setOption(QInputDialog::InputDialogOption option, bool on = true)
Establece el option dado para que esté habilitado si on es verdadero; de lo contrario, borra el option dado.
Véase también options y testOption().
[override virtual] void QInputDialog::setVisible(bool visible)
Reimplementa: QDialog::setVisible(bool visible).
[override virtual] QSize QInputDialog::sizeHint() const
Reimplementa: QDialog::sizeHint() const.
bool QInputDialog::testOption(QInputDialog::InputDialogOption option) const
Devuelve true si el option dado está habilitado; en caso contrario, devuelve false.
Véase también options y setOption().
[signal] void QInputDialog::textValueChanged(const QString &text)
Esta señal se emite cada vez que cambia la cadena de texto en el diálogo. La cadena actual se especifica en text.
Esta señal sólo es relevante cuando el diálogo de entrada se utiliza en modo TextInput.
Nota: Señal notificadora para la propiedad textValue.
[signal] void QInputDialog::textValueSelected(const QString &text)
Esta señal se emite siempre que el usuario selecciona una cadena de texto aceptando el diálogo; por ejemplo, pulsando el botón OK. La cadena seleccionada se especifica en text.
Esta señal sólo es relevante cuando el diálogo de entrada se utiliza en modo TextInput.
© 2026 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.