ini格式相关

头文件:

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_OBJECT

public:
    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;
}
界面文件:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值