参考官方文档,可以简单使用QInputDialog类的静态方法来弹出对话框获取用户输入,缺点是不能自定义按钮的文字,默认为OK和Cancel:
bool ok;
int i = QInputDialog::getInt(this, tr("QInputDialog::getInteger()"),
tr("Percentage:"), 25, 0, 100, 1, &ok);
if (ok)
qDebug()<<"User entered "<<i;
调用静态方法的效果图:
自定义按钮文字的效果图
方法是创建一个QinputDiag的对象,分别调用setOkButtonText()和setCancelButtonText()设置文字,再将对象的intValueSelected(int)信号connect到保存用户输入的槽函数即可
getChNo=new QInputDialog(this);
getChNo->setOkButtonText(QString::fromLocal8Bit("确定"));
getChNo->setCancelButtonText(QString::fromLocal8Bit("取消"));
getChNo->setInputMode(QInputDialog::IntInput);
getChNo->setIntRange(1,16);
getChNo->setLabelText("Select a channel");
connect(getChNo,SIGNAL(intValueSelected(int)),this,SLOT(getChSelected(int)));
getChNo->show(); //在需要获取用户输入的地方调用show()