QT文件的读取与插入
实现功能:
1.输入文本到 Line_edit 点击插入,把文本添加到文件末端
2.点击 获取 读取txt文本,将文本内容显示到左边的窗口中
3.双击左边窗口的选项,弹出对话框,跳转到右边
主要介绍一下文件OI的使用
首先用QFile file(“文件路径),让txt被打开
实现功能 1
void MainWindow::on_pushButton_2_clicked()
{
QString s=ui->lineEdit->text();
file.open(QIODeviceBase::Append);
QTextStream txt_add(&file);
txt_add<<Qt::endl<<s;
ui->lineEdit->clear();
file.close();
}
想要在文件末尾写入东西,我们需要将oppen的方式设为append
再用文本流的方式, QTextStream txt_add(&file);
实现功能 2
void MainWindow::on_pushButton_clicked()
{
file.open(QIODeviceBase::ReadOnly);
while(!file.atEnd())
{
QString s=file.readLine();
ui->listWidget->addItem(s);
}
file.close();
}
实现功能 3
void MainWindow::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{
int row=ui->listWidget->currentRow();
// QListWidgetItem *it=ui->listWidget->takeItem(row);
int p=QMessageBox::warning(this,"转移","是否将该用户转移到右方?",QMessageBox::Yes,QMessageBox::No);
if(p==QMessageBox::Yes)
{
QListWidgetItem *it=ui->listWidget->takeItem(row);
ui->listWidget_2->addItem(it);
}
// delete it;
}
在写的过程中,我一开始保持着记得释放指针的好习惯,于是写delete it
但因为指针指向的东西被删除了, 这导致了窗口2没法显示被双击的内容
或者我们可以用 it->text() 的方式获取文本
此外,takeItem(row)会将你选中的项目拿走,需要放在yes条件下