qt实现选中数据库中的一个数据。使其确认显示到lineEdit中

qt实现选中数据库中的一个数据。使其确认显示到lineEdit中,第1张

创建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只是根据第一个编辑框的内容来设置第二个编辑框的内容,建议换成其它函数名。

我有两个问题请教一下大家~------解决方案--------------------------------------------------------1做个定时器吧。隔段时间clear一下,再重新显示接收到的数据。2不是很懂你的描述。期待楼下大牛回答------解决方案-------------------------------------------------------- 1你用的那个函数给lineEdit设置文字?我试了下setText(QString) 这个函数每次都会替换掉原来的内容不会发生你说的情况。 继续期待楼下大牛回答

可以先吧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);

这个信号来触发自己的槽。

connect(ui->listWidget,SIGNAL(itemSelectionChanged()),this,SLOT(lineeditEnable()))

然后在lineeditEnable槽里,就可以添加我们的代码,来判断是哪个Item, QListWidget可以用currentItem来获取当前的Item

返回的是一个

以上就是关于qt实现选中数据库中的一个数据。使其确认显示到lineEdit中全部的内容,包括:qt实现选中数据库中的一个数据。使其确认显示到lineEdit中、qt EditLine 读取 显示、怎么实时刷新显示lineEdit里的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9706036.html

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

发表评论

登录后才能评论

评论列表(0条)

保存