如图所示,希望实现的功能是选中一行,然后点击设置好的按钮将他删除。大致代码上一个问题有发
4条回答 默认 最新
- 技术专家团-小桥流水 2023-06-14 20:58关注
在界面中添加一个pushbutton,然后添加点击事件的槽函数,记得在构造函数中重新connect一下。
构造函数中添加如下代码:connect(ui->pushButton_4,&QPushButton::clicked,this,&MainWindow::on_pushButton_4_clicked); //槽函数的名字修改成你自己的
删除按钮点击事件槽函数代码(同时从文件中删除):
//删除选中的行 void MainWindow::on_pushButton_4_clicked() { int row = ui->tableView->currentIndex().row(); QString s =""; if(row >=0) { //写入文件 QFile file("../car.csv"); //以只写、文本、追加的方式打开文件 if(false == file.open(QIODevice::WriteOnly | QIODevice::Text )) { //如果打开失败则打印提示信息并退出 qDebug() << "Cannot open file for writing"; return; } //创建文本流对象out,将对象file的地址传入 QTextStream out(&file); QString title = "车辆型号,厂商,车型级别,座位数,排量,变速箱,车身颜色,价格\n"; out << title.toUtf8(); for(int i=0;i<fileData.size();i++) { if(i != row) { QString s = fileData.at(i); s.replace('\r','\n'); //替换掉末尾的\r if(!s.endsWith('\n')) //判断是否已\n结束 s += '\n'; out << s.toUtf8(); } } //关闭文件 file.close(); //从tableview中删除 model->removeRow(row); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 windows2019+nginx+php耗时久
- ¥15 labelme打不开怎么办
- ¥35 按照图片上的两个任务要求,用keil5写出运行代码,并在proteus上仿真成功,🙏
- ¥15 免费的电脑视频剪辑类软件如何盈利
- ¥30 MPI读入tif文件并将文件路径分配给各进程时遇到问题
- ¥15 pycharm中导入模块出错
- ¥20 Ros2 moveit2 Windows环境配置,有偿,价格可商议。
- ¥15 有关“完美的代价”问题的代码漏洞
- ¥15 请帮我看一下这个简易化学配平器的逻辑有什么问题吗?
- ¥15 暴力法无法解出,可能要使用dp和数学知识