ini格式相关

来源:互联网 发布:java按空格分割字符串 编辑:程序博客网 时间:2024/06/05 20:20

头文件:

GBK.h(格式转换)

#ifndef GBK_H#define GBK_H#include <QString>#include <string>#include <QTextCodec>#include <QByteArray>#include <QDebug>#include <QSettings>#include <QMessageBox>#include <QFile>#include <QFileDialog>#include <QStackedWidget>using std::string;class GBK{public:    static string FromUnicode(const QString &qstr)    {        QTextCodec *pCod = QTextCodec::codecForName("gbk2312");        if(!pCod)        {            return "";        }        QByteArray buf = pCod->fromUnicode(qstr);        string cstr = buf.data();        return cstr;    }    static QString ToUnicode(const string &cstr)    {        QTextCodec *pCod = QTextCodec::codecForName("gbk2312");        if(!pCod)        {            return "";        }        QString qstr = pCod->toUnicode(cstr.c_str(),cstr.length());        return qstr;    }};#endif // GBK_H
mainwindow.h

#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include "GBK.h"namespace Ui {class MainWindow;}class MainWindow : public QMainWindow{    Q_OBJECTpublic:    explicit MainWindow(QWidget *parent = 0);    ~MainWindow();private:    Ui::MainWindow *ui;    void ReadInformation();private slots:    int OnSaveBtnChicked();    void OnCloseBtnChicked();//private://    QString m_filepath;};#endif // MAINWINDOW_H
源文件:

main.cpp

#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[]){    QApplication a(argc, argv);    MainWindow w;    w.show();    return a.exec();}
mainwindow.cpp
#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);    connect(ui->listWidget,SIGNAL(currentRowChanged(int)),            ui->stackedWidget,SLOT(setCurrentIndex(int)));    connect(ui->SaveButton,SIGNAL(clicked()),            this,SLOT(OnSaveBtnChicked()));    connect(ui->closeButton,SIGNAL(clicked()),            this,SLOT(OnCloseBtnChicked()));}MainWindow::~MainWindow(){    delete ui;}void MainWindow::ReadInformation(){    QSettings setting("Information.ini",QSettings::IniFormat);    setting.setIniCodec(QTextCodec::codecForName("UTF-8"));    QString username = setting.value("Devinformation/userName").toString();    QString name = setting.value("Devinformation/Name").toString();    QString sex = setting.value("Devinformation/Sex").toString();    QString bumen = setting.value("Devinformation/Depart").toString();    QString age = setting.value("Devinformation/Age").toString();    QString beizhu = setting.value("Devinformation/Other").toString();    QString shuoming = setting.value("Devinformation/Abstract").toString();    qDebug() << username;    qDebug() << name;    qDebug() << sex;    qDebug() << bumen;    qDebug() << age;    qDebug() << beizhu;    qDebug() << shuoming;}void MainWindow::OnCloseBtnChicked(){    this->close();}int MainWindow::OnSaveBtnChicked(){    //       QString filename = QFileDialog::getSaveFileName(this,"Save");    //       QString txt = ui->plainTextEdit->toPlainText();    //       QFile file(filename);    //       if(!file.open(QIODevice::ReadWrite | QIODevice::Text))    //       {    //           QMessageBox::warning(this,"file write","can't,open",QMessageBox::Yes);    //       }    //       QTextStream in(&file);    //       in << txt << "\n";//TXT文档保存    QSettings setting("Information.ini",QSettings::IniFormat);    setting.setIniCodec(QTextCodec::codecForName("UTF-8"));    setting.beginGroup("Devinformation");    setting.setValue("userName",ui->userlineEdit->text());    setting.setValue("Name",ui->namelineEdit->text());    setting.setValue("Sex",ui->sexboBox->currentText());    setting.setValue("Depart",ui->buMentextEdit->toPlainText());    setting.setValue("Age",ui->agelineEdit->text());    setting.setValue("Other",ui->beiZhulineEdit->text());    setting.setValue("Abstract",ui->plainTextEdit->toPlainText());    setting.endGroup();//ini保存文档    ReadInformation();    return 0;}
界面文件:


原创粉丝点击