Qt使用QInputDialog获取用户输入、自定义OK/Cancel按钮文字

参考官方文档,可以简单使用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;

调用静态方法的效果图:
Qt使用QInputDialog获取用户输入、自定义OK/Cancel按钮文字_第1张图片
自定义按钮文字的效果图
Qt使用QInputDialog获取用户输入、自定义OK/Cancel按钮文字_第2张图片
方法是创建一个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()

你可能感兴趣的:(Qt开发)