创建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里的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)