The QInputDialog class provides a simple convenience dialog to get a single value from the user. 更多...
| 头: | #include <QInputDialog> |
| 继承: | QDialog |
| enum | InputDialogOption { NoButtons, UseListViewForComboBoxItems } |
| flags | InputDialogOptions |
| enum | InputMode { TextInput, IntInput, DoubleInput } |
|
|
| QInputDialog (QWidget * parent = 0, Qt::WindowFlags flags = 0) | |
| ~QInputDialog () | |
| QString | cancelButtonText () const |
| QStringList | comboBoxItems () const |
| int | doubleDecimals () const |
| double | doubleMaximum () const |
| double | doubleMinimum () const |
| double | doubleValue () const |
| 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 ) |
| InputDialogOptions | options () const |
| void | setCancelButtonText (const QString & text ) |
| void | setComboBoxEditable (bool editable ) |
| void | setComboBoxItems (const QStringList & 项 ) |
| void | setDoubleDecimals (int decimals ) |
| void | setDoubleMaximum (double max ) |
| void | setDoubleMinimum (double min ) |
| void | setDoubleRange (double min , double max ) |
| void | setDoubleValue (double value ) |
| void | setInputMode (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 (InputDialogOption option , bool on = true) |
| void | setOptions (InputDialogOptions options ) |
| void | setTextEchoMode (QLineEdit::EchoMode mode ) |
| void | setTextValue (const QString & text ) |
| bool | testOption (InputDialogOption option ) const |
| QLineEdit::EchoMode | textEchoMode () const |
| QString | textValue () const |
| virtual void | done (int result ) |
| virtual QSize | minimumSizeHint () const |
| virtual void | setVisible (bool visible ) |
| virtual QSize | sizeHint () const |
| 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 = 0, Qt::WindowFlags flags = 0) |
| int | getInt (QWidget * parent , const QString & title , const QString & label , int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, bool * ok = 0, Qt::WindowFlags flags = 0) |
| QString | getItem (QWidget * parent , const QString & title , const QString & label , const QStringList & 项 , int current = 0, bool editable = true, bool * ok = 0, Qt::WindowFlags flags = 0, 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 = 0, Qt::WindowFlags flags = 0, Qt::InputMethodHints inputMethodHints = Qt::ImhNone) |
The QInputDialog class provides a simple convenience dialog to get a single value from the user.
The input value can be a string, a number or an item from a list. A label must be set to tell the user what they should enter.
Four static convenience functions are provided: getText (), getInt (), getDouble (),和 getItem (). All the functions can be used in a similar way, for example:
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);
The
ok
variable is set to true if the user clicks
OK
; otherwise it is set to false.
The 标准对话框 范例展示如何使用 QInputDialog 及其它内置 Qt 对话框。
另请参阅 QMessageBox and 标准对话框范例 .
This enum specifies various options that affect the look and feel of an input dialog.
| 常量 | 值 | 描述 |
|---|---|---|
QInputDialog::NoButtons
|
0x00000001
|
不显示 OK and Cancel buttons. (Useful for "live dialogs".) |
QInputDialog::UseListViewForComboBoxItems
|
0x00000002
|
Use a QListView rather than a non-editable QComboBox for displaying the items set with setComboBoxItems (). |
该枚举在 Qt 4.5 引入或被修改。
The InputDialogOptions type is a typedef for QFlags <InputDialogOption>. It stores an OR combination of InputDialogOption values.
另请参阅 options , setOption (),和 testOption ().
This enum describes the different modes of input that can be selected for the dialog.
| 常量 | 值 | 描述 |
|---|---|---|
QInputDialog::TextInput
|
0
|
Used to input text strings. |
QInputDialog::IntInput
|
1
|
Used to input integers. |
QInputDialog::DoubleInput
|
2
|
Used to input floating point numbers with double precision accuracy. |
该枚举在 Qt 4.5 引入或被修改。
另请参阅 inputMode .
This property holds the text for the button used to cancel the dialog.
该特性在 Qt 4.5 引入。
访问函数:
| QString | cancelButtonText () const |
| void | setCancelButtonText (const QString & text ) |
This property holds whether or not the combo box is used in the input dialog is editable.
该特性在 Qt 4.5 引入。
访问函数:
| bool | isComboBoxEditable () const |
| void | setComboBoxEditable (bool editable ) |
This property holds the items used in the combobox for the input dialog.
该特性在 Qt 4.5 引入。
访问函数:
| QStringList | comboBoxItems () const |
| void | setComboBoxItems (const QStringList & 项 ) |
This property holds sets the percision of the double spinbox in decimals.
该特性在 Qt 4.5 引入。
访问函数:
| int | doubleDecimals () const |
| void | setDoubleDecimals (int decimals ) |
另请参阅 QDoubleSpinBox::setDecimals ().
This property holds the maximum double precision floating point value accepted as input.
This property is only relevant when the input dialog is used in DoubleInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| double | doubleMaximum () const |
| void | setDoubleMaximum (double max ) |
This property holds the minimum double precision floating point value accepted as input.
This property is only relevant when the input dialog is used in DoubleInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| double | doubleMinimum () const |
| void | setDoubleMinimum (double min ) |
This property holds the current double precision floating point value accepted as input.
This property is only relevant when the input dialog is used in DoubleInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| double | doubleValue () const |
| void | setDoubleValue (double value ) |
通知程序信号:
| void | doubleValueChanged (double value ) |
This property holds the mode used for input.
This property help determines which widget is used for entering input into the dialog.
该特性在 Qt 4.5 引入。
访问函数:
| InputMode | inputMode () const |
| void | setInputMode (InputMode mode ) |
This property holds the maximum integer value accepted as input.
This property is only relevant when the input dialog is used in IntInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| int | intMaximum () const |
| void | setIntMaximum (int max ) |
This property holds the minimum integer value accepted as input.
This property is only relevant when the input dialog is used in IntInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| int | intMinimum () const |
| void | setIntMinimum (int min ) |
This property holds the step by which the integer value is increased and decreased.
This property is only relevant when the input dialog is used in IntInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| int | intStep () const |
| void | setIntStep (int step ) |
This property holds the current integer value accepted as input.
This property is only relevant when the input dialog is used in IntInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| int | intValue () const |
| void | setIntValue (int value ) |
通知程序信号:
| void | intValueChanged (int value ) |
This property holds the text to for the label to describe what needs to be input.
该特性在 Qt 4.5 引入。
访问函数:
| QString | labelText () const |
| void | setLabelText (const QString & text ) |
This property holds the text for the button used to accept the entry in the dialog.
该特性在 Qt 4.5 引入。
访问函数:
| QString | okButtonText () const |
| void | setOkButtonText (const QString & text ) |
This property holds the various options that affect the look and feel of the dialog.
默认情况下,所有选项是被禁用的。
该特性在 Qt 4.5 引入。
访问函数:
| InputDialogOptions | options () const |
| void | setOptions (InputDialogOptions options ) |
另请参阅 setOption () 和 testOption ().
This property holds the echo mode for the text value.
This property is only relevant when the input dialog is used in TextInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| QLineEdit::EchoMode | textEchoMode () const |
| void | setTextEchoMode (QLineEdit::EchoMode mode ) |
This property holds the text value for the input dialog.
This property is only relevant when the input dialog is used in TextInput 模式。
该特性在 Qt 4.5 引入。
访问函数:
| QString | textValue () const |
| void | setTextValue (const QString & text ) |
通知程序信号:
| void | textValueChanged (const QString & text ) |
Constructs a new input dialog with the given parent and window flags .
该函数在 Qt 4.5 引入。
Destroys the input dialog.
该函数在 Qt 4.5 引入。
[虚拟]
void
QInputDialog::
done
(
int
result
)
重实现自 QDialog::done ().
关闭对话框并将其结果代码设为 result 。若此对话框的展示是采用 exec (),done() 导致本地事件循环的完成,且 exec () 返回 result .
另请参阅 QDialog::done ().
[signal]
void
QInputDialog::
doubleValueSelected
(
double
value
)
This signal is emitted whenever the user selects a double value by accepting the dialog; for example, by clicking the OK button. The selected value is specified by value .
This signal is only relevant when the input dialog is used in 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
= 0,
Qt::WindowFlags
flags
= 0)
Static convenience function to get a floating point number from the user.
title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). value is the default floating point number that the line edit will be set to. min and max are the minimum and maximum values the user may choose. decimals is the maximum number of decimal places the number may have.
若 ok is nonnull, * ok will be set to true if the user pressed OK and to false if the user pressed Cancel . The dialog's parent is parent . The dialog will be modal and uses the widget flags .
This function returns the floating point number which has been entered by the user.
Use this static function like this:
bool ok;
double d = QInputDialog::getDouble(this, tr("QInputDialog::getDouble()"),
tr("Amount:"), 37.56, -10000, 10000, 2, &ok);
if (ok)
doubleLabel->setText(QString("$%1").arg(d));
警告: 不要删除 parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog 构造函数。
另请参阅 getText (), getInt (),和 getItem ().
[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
= 0,
Qt::WindowFlags
flags
= 0)
Static convenience function to get an integer input from the user.
title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). value is the default integer which the spinbox will be set to. min and max are the minimum and maximum values the user may choose. step is the amount by which the values change as the user presses the arrow buttons to increment or decrement the value.
若 ok is nonnull * ok will be set to true if the user pressed OK and to false if the user pressed Cancel . The dialog's parent is parent . The dialog will be modal and uses the widget flags .
On success, this function returns the integer which has been entered by the user; on failure, it returns the initial value .
Use this static function like this:
bool ok;
int i = QInputDialog::getInt(this, tr("QInputDialog::getInteger()"),
tr("Percentage:"), 25, 0, 100, 1, &ok);
if (ok)
integerLabel->setText(tr("%1%").arg(i));
警告: 不要删除 parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog 构造函数。
该函数在 Qt 4.5 引入。
另请参阅 getText (), getDouble (),和 getItem ().
[static]
QString
QInputDialog::
getItem
(
QWidget
*
parent
, const
QString
&
title
, const
QString
&
label
, const
QStringList
&
项
,
int
current
= 0,
bool
editable
= true,
bool
*
ok
= 0,
Qt::WindowFlags
flags
= 0,
Qt::InputMethodHints
inputMethodHints
= Qt::ImhNone)
Static convenience function to let the user select an item from a string list.
title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). 项 is the string list which is inserted into the combobox. current is the number of the item which should be the current item. inputMethodHints is the input method hints that will be used if the combobox is editable and an input method is active.
若 editable is true the user can enter their own text; otherwise the user may only select one of the existing items.
若 ok is nonnull *a ok will be set to true if the user pressed OK and to false if the user pressed Cancel . The dialog's parent is parent . The dialog will be modal and uses the widget flags .
This function returns the text of the current item, or if editable is true, the current text of the combobox.
Use this static function like this:
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);
警告: 不要删除 parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog 构造函数。
另请参阅 getText (), getInt (),和 getDouble ().
[static]
QString
QInputDialog::
getText
(
QWidget
*
parent
, const
QString
&
title
, const
QString
&
label
,
QLineEdit::EchoMode
mode
= QLineEdit::Normal, const
QString
&
text
= QString(),
bool
*
ok
= 0,
Qt::WindowFlags
flags
= 0,
Qt::InputMethodHints
inputMethodHints
= Qt::ImhNone)
Static convenience function to get a string from the user.
title is the text which is displayed in the title bar of the dialog. label is the text which is shown to the user (it should say what should be entered). text is the default text which is placed in the line edit. mode is the echo mode the line edit will use. inputMethodHints is the input method hints that will be used in the edit widget if an input method is active.
若 ok is nonnull *a ok will be set to true if the user pressed OK and to false if the user pressed Cancel . The dialog's parent is parent . The dialog will be modal and uses the specified widget flags .
If the dialog is accepted, this function returns the text in the dialog's line edit. If the dialog is rejected, a null QString 被返回。
Use this static function like this:
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);
警告: 不要删除 parent during the execution of the dialog. If you want to do this, you should create the dialog yourself using one of the QInputDialog 构造函数。
另请参阅 getInt (), getDouble (),和 getItem ().
[signal]
void
QInputDialog::
intValueSelected
(
int
value
)
This signal is emitted whenever the user selects a integer value by accepting the dialog; for example, by clicking the OK button. The selected value is specified by value .
This signal is only relevant when the input dialog is used in IntInput 模式。
[虚拟]
QSize
QInputDialog::
minimumSizeHint
() const
重实现自 QWidget::minimumSizeHint ().
这是重载函数。
This function connects one of its signals to the slot specified by receiver and member . The specific signal depends on the arguments that are specified in member . These are:
将从槽断开信号连接,当关闭对话框时。
该函数在 Qt 4.5 引入。
Sets the range of double precision floating point values accepted by the dialog when used in DoubleInput mode, with minimum and maximum values specified by min and max 分别。
Sets the range of integer values accepted by the dialog when used in IntInput mode, with minimum and maximum values specified by min and max 分别。
设置给定 option 为被启用若 on 为 true;否则,清零给定 option .
另请参阅 options and testOption ().
[虚拟]
void
QInputDialog::
setVisible
(
bool
visible
)
重实现自 QWidget::setVisible ().
[虚拟]
QSize
QInputDialog::
sizeHint
() const
重实现自 QWidget::sizeHint ().
Returns true if the given option 被启用;否则,返回 false。
另请参阅 options and setOption ().
[signal]
void
QInputDialog::
textValueSelected
(const
QString
&
text
)
This signal is emitted whenever the user selects a text string by accepting the dialog; for example, by clicking the OK button. The selected string is specified by text .
This signal is only relevant when the input dialog is used in TextInput 模式。