qt lineedit 读入多个数字

qt lineedit 读入多个数字,第1张

可以先吧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如何获得文本框内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9298591.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存