使用标准输入框 --- Qt

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控件的步进值






你可能感兴趣的:(QInputDialog)