void InputDialog::slotName(){ bool ok; QString name = QInputDialog::getText(this,tr("User Name"), tr("Please input new name:"), QLineEdit::Normal,nameLabel->text(),&ok); if(ok && !name.isEmpty()) { nameLabel->setText(name); }}void InputDialog::slotAge(){ bool ok; //QString age = QInputDialog::getText(this, tr("User Age"),tr("Please input new age:"), QLineEdit::Normal,ageLabel->text(),&ok); int age = QInputDialog::getInteger(this, tr("User Age"),tr("Please input new age:"),ageLabel->text().toInt(), 0 , 150, 1, &ok); if(ok) { ageLabel->setText(QString(tr("%1")).arg(age)); }}void InputDialog::slotSex(){ QStringList list; list << tr("男") << tr("女"); bool ok; QString sex = QInputDialog::getItem(this, tr("Sex"), tr("Please select sex:"),list,0,false,&ok); if(ok) { sexLabel->setText(sex); }}void InputDialog::slotStature(){ bool ok; // QString stature = QInputDialog::getText(this,tr("User Stature"),tr("Please input number:"),QLineEdit::Normal, statureLabel->text(),&ok); double stature =QInputDialog::getDouble(this, tr("User Stature"),tr("Please input number:"), statureLabel->text().toDouble(), 140.0,200.0,1 , &ok); if(ok) { statureLabel->setText(QString(tr("%1")).arg(stature)); }}
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 )
第一个参数:parent为标准输入对话框的父窗口
第二个参数:标准输入对话框的标题名
第三个参数:标准输入对话框的标签提示
第四个参数:标准输入对话框的输入模式
第五个参数:为标准字符串输入对话框弹出时QLineEdit控件默认出现的文字
第六个参数:ok用于指示标准输入对话框的那个按钮被触发,若ok为true,则表示用户单击了Ok(确定按钮),单击了Cancel按钮,则ok为false
第七个参数:指明标准输入对话框的窗体标示
QString QInputDialog::getItem ( QWidget * parent, const QString & title, const QString & label, const QStringList & items, int current = 0, booleditable = true, bool * ok = 0, Qt::WindowFlags flags = 0 )
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 )
int QInputDialog::getInteger ( 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 )
step指定QSpinBox控件的步进值
decimals为QSpinBox控件的步进值