(1)为了完成输入,使用本类的静态函数是最好的方式,简单。但本例也允许程序员自己制作输入对话框 ,那么首先和全部的任务,就是理解并使用好本类的这些属性 property ,理解这些属性值,也有助于理解本输入框的工作方式 :
//enum InputMode { TextInput, IntInput, DoubleInput };
//此属性保存用于输入的模式。此属性有助于确定用于在对话框中输入内容的控件。
QDOC_PROPERTY(InputMode inputMode READ inputMode WRITE setInputMode)
//此属性持有标签的文本,该文本描述了需要输入的内容。
QDOC_PROPERTY(QString labelText
READ labelText WRITE setLabelText)
//此属性包含用于在对话框中接受输入的按钮文本.
QDOC_PROPERTY(QString okButtonText
READ okButtonText WRITE setOkButtonText)
QDOC_PROPERTY(QString cancelButtonText
READ cancelButtonText WRITE setCancelButtonText)
//此属性包含用于取消对话框的按钮文本。
//enum InputDialogOption { NoButtons, UseListViewForComboBoxItems,
// UsePlainTextEditForTextInput };
//此属性持有影响对话框外观和感觉的各种选项。
QDOC_PROPERTY(InputDialogOptions options //默认情况下,所有选项都已禁用。
READ options WRITE setOptions)
//此属性保存输入对话框中的文本值。 此属性仅在输入对话框以文本模式使用时才相关。
QDOC_PROPERTY(QString textValue
READ textValue WRITE setTextValue
NOTIFY textValueChanged)
//enum QLineEdit::EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit };
//此属性用于设置文本值的回声模式。此属性仅在输入对话框以文本输入模式 TextInput使用时才相关。
QDOC_PROPERTY(QLineEdit::EchoMode textEchoMode
READ textEchoMode
WRITE setTextEchoMode)
//此属性用于在输入对话框的组合框中显示项目。
QDOC_PROPERTY(QStringList comboBoxItems
READ comboBoxItems WRITE setComboBoxItems)
//此属性表示输入对话框中使用的组合框是否可编辑。
QDOC_PROPERTY(bool comboBoxEditable
READ isComboBoxEditable
WRITE setComboBoxEditable)
//此属性保存当前接受的整数值。此属性仅在IntInput模式下使用输入对话框时才相关。
QDOC_PROPERTY(int intValue
READ intValue WRITE setIntValue NOTIFY intValueChanged)
//此属性持有作为输入接受的最小整数值
QDOC_PROPERTY(int intMinimum
READ intMinimum WRITE setIntMinimum)
//This property holds the maximum integer value accepted as input.
QDOC_PROPERTY(int intMaximum
READ intMaximum WRITE setIntMaximum)
//此属性持有用于增加和减少整数值的步长.
QDOC_PROPERTY(int intStep
READ intStep WRITE setIntStep)
//此属性保存当前接受的双精度浮点值。此属性仅在输入对话框用于双输入模式时才相关。
QDOC_PROPERTY(int doubleValue
READ doubleValue WRITE setDoubleValue
NOTIFY doubleValueChanged)
QDOC_PROPERTY(double doubleMinimum //此属性持有接受的最小双精度浮点值。
READ doubleMinimum WRITE setDoubleMinimum)
QDOC_PROPERTY(double doubleMaximum //此属性持有接受的输入的最大双精度浮点值
READ doubleMaximum WRITE setDoubleMaximum)
//sets the precision of the double spinbox in decimals 以十进制形式,设置浮点数的小数位数
QDOC_PROPERTY(int doubleDecimals //设置双精度spinbox的精度为小数位
READ doubleDecimals WRITE setDoubleDecimals)
QDOC_PROPERTY(double doubleStep //此属性用于设置浮点数增加和减少的步长。
READ doubleStep WRITE setDoubleStep)
(2)公共成员函数部分 :
(3) 信号函数部分 :
(4)静态成员函数部分 :
++测试一下:
(5)
++测试一下 :
(6)得到一行字符串 :
++测试一下 :
(7) 得到多行文本 :
++ 测试一下 :
(8) 从组合框里选择预定义文本 :
++测试一下 :
(9)
谢谢