
可以先吧lineedit中的内容一次性读入到一个QString中然后用QString的split函数进行切割
在lineedit中输出" 23,46,71",
QString str = lineedit->test();
则str=" 23,46,71";
QStringList list = strsplit(",", 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);
自定义信号和槽
signals:
SendText(QString text);
privite slots:
ReciveText(QString text);
界面类的构造函数中connect信号和槽。
按钮的点击处理函数中获取lineEdit的内容,并作为信号SendText的参数。
然后发射信号 emit SendText(text);
槽函数SendText中 *** 作文本编辑器。
每一个ui都对应一个ui对象,然后添加一个ui对象到你的类里面,然后在类里面就可以使用muilineedittext。不过这个文本框的名字需要你在designer里面查看一下类名是什么。
创建QSqlQueryModel 保存表数据库的表,model就显示在控件中(QTableView->setModel()),
选中表中的项,可以得到当前行数,也就可以获得当前数据,最后lineEdit->setText(xx);
1connect(&button,SIGNAL(clicked()),this,SLOT(copy())
试试。
2
connect(sender, signal, receiver, slot)
即当sender的signal被触发时,由receiver的slot来响应。
如果你重载了QLineEdit:
class QMyLineEdit : public QLineEdit {
//
}
并重写了copy方法:
void QMyLineEdit::copy()
{
QString str;
str = editline->text();
editline2->setText(str);
QLineEdit::copy();
}
然后:
QMyLineEdit editline2;
那么,你的代码是可行的。
3QLineEdit::copy [slot]的默认行为是把编辑框中的文本传递到剪贴板中的。如果这里的copy只是根据第一个编辑框的内容来设置第二个编辑框的内容,建议换成其它函数名。
以上就是关于qt lineedit 读入多个数字全部的内容,包括:qt lineedit 读入多个数字、QT中的信号与槽的问题、Qt如何获得文本框内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)