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

注重网站开发设计与建设中国第一营销网

注重网站开发设计与建设,中国第一营销网,响水网站建设找哪家好,转行做网站1. 说明 QSaveFile和QFile两个类都是用来操作文件的,区别在于QSaveFile在对文件进行写入时有一种保护机制,再写入出错时,不会对源文件中的内容进行操作。该类在执行写操作时,会先将内容写入到一个临时文件中,如果没有…

1. 说明

QSaveFile和QFile两个类都是用来操作文件的,区别在于QSaveFile在对文件进行写入时有一种保护机制,再写入出错时,不会对源文件中的内容进行操作。该类在执行写操作时,会先将内容写入到一个临时文件中,如果没有错误发生,调用其成员函数commit()将临时文件中的内容移到目标文件中。

2. 简单使用案例

本案例中使用QSaveFile类进行文件写入操作,使用QFile类进行文件的读取操作,类QSaveFile在使用说明上显示也可以进行读操作,但在实际使用时发现会出问题。
包含两个界面:mainwindow.ui是主窗口,inputwindow.ui是信息输入弹窗,输入要写入文件的内容
mainwindow.ui:
在这里插入图片描述
inputwindow.ui:
在这里插入图片描述
mainwindow.h代码:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QSaveFile>
#include <QFile>
#include <QDir>
#include <QListWidgetItem>
#include <QDebug>#include "inputwindow.h"QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private slots:void on_btnWrite_clicked();void on_btnRead_clicked();void getInputText(QString mstr);private:Ui::MainWindow *ui;//引入第二界面弹窗对象InputWindow *inputWin;QSaveFile *mFile=nullptr;
};
#endif // MAINWINDOW_H

mainwindow.cpp代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//如果指定路径下不存在该文件,则会在该路径下新建此文件mFile = new QSaveFile("/home/chin/Desktop/Python/savefile2.py");mFile->open(QFile::WriteOnly|QFile::Truncate|QFile::Text);}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_btnWrite_clicked()
{inputWin = new InputWindow(this);//调整位置和尺寸inputWin->setGeometry((this->width()- inputWin->width())/1.5,(this->height()-inputWin->height())/2,150,80);inputWin->show();//绑定信号,注意信号中如果带有参数,不能写参数的名字,给出参数类型即可,否则出错connect(inputWin,SIGNAL(sendInputStr(QString)),this,SLOT(getInputText(QString)));
}void MainWindow::on_btnRead_clicked()
{QFile file("/home/chin/Desktop/Python/savefile2.py");
//    qDebug()<<file.fileName().split('/')[file.fileName().split('/').length()-1].split('.')[0];QString str;if(file.open(QFile::ReadOnly)){str = file.readAll();}ui->fileContentList->addItem(str);
}void MainWindow::getInputText(QString mstr)
{if(mFile->isOpen()){mFile->write(mstr.toUtf8());qDebug()<<mstr;mFile->commit();}
}

不同界面之间的参数传递使用信号槽的方式实现,但是注意当信号中包含参数时,只需要写出参数的类型即可,不能写形参的名字,否则信号槽连接会出问题。
inputwindow.h代码:

#ifndef INPUTWINDOW_H
#define INPUTWINDOW_H#include <QWidget>
#include <QDebug>namespace Ui {
class InputWindow;
}class InputWindow : public QWidget
{Q_OBJECTpublic:explicit InputWindow(QWidget *parent = nullptr);~InputWindow();private slots:void on_btnYes_clicked();void on_btnCancel_clicked();signals://自定义信号void sendInputStr(QString str);private:Ui::InputWindow *ui;
};#endif // INPUTWINDOW_H

inputwindow.cpp代码:

#include "inputwindow.h"
#include "ui_inputwindow.h"InputWindow::InputWindow(QWidget *parent) :QWidget(parent),ui(new Ui::InputWindow)
{ui->setupUi(this);}InputWindow::~InputWindow()
{delete ui;
}void InputWindow::on_btnYes_clicked()
{QString str = ui->inputText->toPlainText();//发射信号emit sendInputStr(str);qDebug()<<str;delete this;
}void InputWindow::on_btnCancel_clicked()
{delete this;
}

持续更新中,请大家多多关注…

http://www.hkea.cn/news/721291/

相关文章:

  • 工商注册企业名称查询广东seo网站推广代运营
  • 中纪委网站两学一做征文资源平台
  • java高端网站建设现在广告行业好做吗
  • wordpress 制作下载优化关键词怎么做
  • 宁波网站建设哪个公司好百度爱采购推广怎么入驻
  • 重庆市建设工程信息网特种作业企业网站seo多少钱
  • 域名备案做电影网站制作免费个人网站
  • 公司网络营销方案优化设计七年级上册数学答案
  • 网站建设策划方案网址搜索引擎
  • 艺术培训学校系统网站怎么做百度优化是什么
  • 自己的网站做飘窗百度推广账号登录入口
  • 国内好的网站建设国内外十大免费crm软件推荐
  • 淄博品质网站建设百度销售推广
  • 网站建设学习内容网站模板哪家好
  • 建立b2b网站成本微信营销平台系统
  • 学做衣服网 缤纷网站手机百度ai入口
  • 点餐系统网站建设画质优化app下载
  • 上海都有哪些企业公司seo网站seo
  • 进一步加强政府网站建设网站建设介绍ppt
  • 做网站的设计软件上海seo推广外包
  • 中国工程局人才招聘网福建seo推广方案
  • 深圳南山做网站的公司百度投诉中心
  • 辽宁建设工程信息网业绩认定武汉网站优化公司
  • 莱芜都市人才网上海网站seo公司
  • 广州做鞋的网站怎么让某个关键词排名上去
  • 温州平阳县网站建设兼职东莞网络推广哪家公司奿
  • 做单页网站价格微信朋友圈广告在哪里做
  • 濮阳家电网站建设一般开车用什么导航最好
  • html5 图片展示网站大作设计网站
  • 河北正规网站建设比较百度一下你就知道官页