我正在尝试在.txt中保存QtDesigner中的DataEdit日期,然后打开.txt并将日期放入DataEdit。
save is okey:
QTextStream out(&sFile);
out << ui.lineEdit_2->text()<< "\n"
<< ui.lineEdit->text()<< "\n"
<< ui.dateEdit->text();
打开(这是问题所在):
QTextStream in(&sFile);
QString text = in.readLine();
QString name = in.readLine();
QDateEdit fecha = in.readLine();
sFile.close();
ui.lineEdit_2->setText(text);
ui.lineEdit->setText(name);
ui.dateEdit->date(fecha);
错误1错误C2440:'初始化':无法从'QString'转换为'QDateEdit'
错误2错误C2660:'QDateTimeEdit :: date':函数不带1个参数
我不知道要改变这个。
答案 0 :(得分:1)
QDateEdit是一个小部件,而不是QDate,并且QDate可以序列化,小部件没有意义来序列化 - 您实际上是在写下QDateEdit的文本,并希望从该文本创建一个QDateEdit
相反,您需要序列化该编辑的QDate,然后返回QDate并将其设置为ui.dateEdit。
答案 1 :(得分:1)
这不是存储设置的最佳方式。您将其存储为文本,但不控制文本编码,日期格式等。
无论如何,代码的最小变化如下:
QDate fecha = QDate::fromString(in.readLine());
...
ui.dateEdit->setDate(fecha);
答案 2 :(得分:0)
尝试使用QDate::fromString()
方法从中获取QDate
。然后只需致电QDateEdit::setDate(const QDate& date)
soo long zai