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