qt lineedit 读入多个数字

QTcreator在lineedit中输入多个数字,以“,”分割,如何把这些数分别读入相应的变量内?例如在lineedit中输出"23,46,71",然后分别把这三个数写... QT creator在lineedit中输入多个数字,以“,”分割,如何把这些数分别读入相应的变量内? 例如在lineedit中输出" 23,46,71",然后分别把这三个数写入 int a,b,c中? 多谢了。 展开
 我来答
创作者XXGDQ4kMbU
推荐于2016-05-13 · TA获得超过1281个赞
知道小有建树答主
回答量:371
采纳率:66%
帮助的人:431万
展开全部
可以先吧lineedit中的内容一次性读入到一个QString中.然后用QString的split函数进行切割.

在lineedit中输出" 23,46,71",
QString str = lineedit->test();
则str=" 23,46,71";

QStringList list = str.split(",", QString::SkipEmptyParts);根据","进行切割.并去除空串.
切割完后list1的内容为list1: [ "23", "46", "71" ]

然后再把切割完的结果分别给a,b,c赋值.
a = list->at(0).toInt();
b = list->at(1).toInt();
c = list->at(2).toInt();

注意:这种写法很容易导致错误.必须要求lineedit按 "X,X,X" 的格式来输入.因此我们可以用正则表达式来限制lineedit的输入模式.

QRegExp regExp("^(\\d{1,5},){2}\\d{1,5}$");
QRegExpValidator *pRegExpValidator = new QRegExpValidator(regExp,this);
lineedit->setValidator(pRegExpValidator);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式