当前位置: 首页 > article >正文

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条件下


http://www.kler.cn/a/271896.html

相关文章:

  • 掌握Spring事务隔离级别,提升并发处理能力
  • 使用 Babylon.js 开发时如何通过 CSS 实现 UI 自适应
  • 详解Redis的Zset类型及相关命令
  • 下载Visual Studio Community 2019
  • 线性数据结构
  • H3C-无线WLAN配置案例(二层隧道转发)
  • 【Linux】进程与可执行程序的关系fork创建子进程写实拷贝的理解
  • 金枪鱼群优化算法TSO优化BiLSTM-ATTENTION实现风力发电功率预测(matlab)
  • 蓝桥杯--平均
  • [漏洞分析]Fortinet FortiNAC CVE-2022-39952简析
  • JavaScript BOM 的概念(浏览器对象模型)
  • 栈和队列(Java实现)
  • [Python初阶]2255.统计是给定字符串前缀的字符串数目
  • 关于前端打包加部署
  • python二级备考(2)-简单应用题
  • 九种背包问题(C++)
  • react-面试题
  • Python网络爬虫内容介绍
  • HTML静态网页成品作业(HTML+CSS)——家乡广州介绍设计制作(5个页面)
  • 简单认识Java,数据类型与变量,运算符,程序逻辑控制
  • MySQL中出现‘max_allowed_packet‘ variable.如何解决
  • rlwrap安装
  • 【Docker】一文趣谈Docker
  • Sora提示词与视频创作的融合(一):创意启发:利用提示词激发创作灵感
  • 操作系统(AndroidIOS)图像绘图的基本原理
  • Vue组件封装方案对比——v-if方式与内置component方式