QT实现保存lineedit内容与bool类型变量到本地,并附带当前时间
时间: 2024-02-21 09:01:06 浏览: 165
用QT实现文本编辑器功能
你可以使用QSettings类来保存lineedit内容和bool类型变量到本地。以下是一个简单的例子:
```c++
#include <QSettings>
#include <QDateTime>
// 保存lineEdit内容和bool类型变量到本地
void saveSettings(QString text, bool checked)
{
QSettings settings("MyApp", "MySettings");
settings.setValue("text", text);
settings.setValue("checked", checked);
settings.setValue("time", QDateTime::currentDateTime().toString());
}
// 从本地读取lineEdit内容和bool类型变量
void loadSettings(QString &text, bool &checked, QString &time)
{
QSettings settings("MyApp", "MySettings");
text = settings.value("text").toString();
checked = settings.value("checked").toBool();
time = settings.value("time").toString();
}
// 在lineEdit的editingFinished()信号中调用保存函数
void MainWindow::on_lineEdit_editingFinished()
{
QString text = ui->lineEdit->text();
bool checked = ui->checkBox->isChecked();
saveSettings(text, checked);
}
// 在窗口初始化时调用加载函数
void MainWindow::init()
{
QString text, time;
bool checked;
loadSettings(text, checked, time);
ui->lineEdit->setText(text);
ui->checkBox->setChecked(checked);
ui->label->setText("Last saved at " + time);
}
```
在上面的代码中,我们使用了QSettings类来保存和加载lineEdit的内容和checkBox的状态。保存函数中,我们使用了QDateTime类来获取当前时间,并将其存储在本地。在加载函数中,我们使用了保存函数中存储的时间来更新一个标签的文本,以便用户知道上次保存的时间。
阅读全文