📄 main.cpp
字号:
#include <QtGui>
#include<stdlib.h>
#include "mainwindow.h"
#include "connDialog.h"
QString g_connectName="db_manager_connect_name";
void setupEnv()
{
QString str;
QStringList list;
QFile file(QApplication::applicationDirPath()+"/env.txt");
if(file.exists() && file.open(QIODevice::ReadOnly))
{
str=file.readAll();
file.close();
}
list=str.split("\n");
if(list.size()==0)
return;
foreach(QString line,list)
{
if(line.trimmed().left(1)=="#")
continue;
try{
QStringList listLine=line.split("=");
QString sleft=listLine.at(0);
QString sright=listLine.at(1);
QStringList listVar;
#ifdef Q_OS_WIN
listVar=sright.split(";");
#else
listVar=srignt.split(":");
#endif
sright.clear();
foreach(QString var,listVar)
{
QString varName;
var=var.trimmed();
#ifdef Q_OS_WIN
if(var.left(1)=="%" && var.right(1)=="%")
varName=var.mid(1,var.length()-2);
qDebug()<<var<<varName;
#else
if(var.left(1)=="$")
varName=var.mid(1,var.length()-1);
#endif
if(varName.length()>0)
{
QByteArray val=qgetenv(varName.toLatin1().data());
sright=sright+val;
}
else
sright=sright+var;
#ifdef Q_OS_WIN
sright=sright+";";
#else
sright=sright+":";
#endif
}
sright=sright.left(sright.length()-1);
line=sleft+"="+sright;
qDebug()<<sleft<<sright<<line;
putenv(line.toLatin1().data());
//QByteArray env=qgetenv(listLine.at(0).toLatin1().data());
//qDebug()<<"TESTENV is :"<<listLine.at(0)<<env;
}
catch(...){}
}
qDebug()<<"end set env";
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Q_INIT_RESOURCE(dbmanager);
app.setApplicationName("sqldbmanagerApp");
// 设置库搜索路径
QStringList pathList=QCoreApplication::libraryPaths();
//pathList.append(QDir::current().absolutePath()+"/plugins");
pathList.insert(0,QApplication::applicationDirPath());
pathList.insert(0,QApplication::applicationDirPath()+"/plugins");
//QCoreApplication::setLibraryPaths(pathList);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
// 汉字的转换器
QString translatorPath=QApplication::applicationDirPath()+"/translations/";
QDir dir(translatorPath);
QStringList filters;
filters << "*.qm" ;
dir.setNameFilters(filters);
foreach(QFileInfo fi,dir.entryInfoList())
{
QTranslator *translator = new QTranslator(&app);
if (translator->load(fi.filePath()))
app.installTranslator(translator);
}
app.setStyle(new QPlastiqueStyle);
// 导入样式表
QFile file(QApplication::applicationDirPath()+"/style/Dbstyle.css");
if(file.exists())
{
if(file.open(QIODevice::ReadOnly))
{
QString strStyle=file.readAll();
file.close();
app.setStyleSheet(strStyle);
}
}
setupEnv();
//system("cmd.exe");
QPixmap pixmap(":/image/splash.jpg");
QSplashScreen splashScreen(pixmap);
ConnDialog dlg;
dlg.splashScreen=&splashScreen;
QFileInfo info(QApplication::applicationDirPath()+"/dm.db");
if(info.exists() && info.size()>0)
dlg.myAccept();
else
{
int ret = dlg.exec();
if (!ret)
return 2;
}
splashScreen.show();
app.processEvents();
QObject::connect(&app,SIGNAL(lastWindowClosed () ),&app,SLOT(quit()));
MainWindow mainWin;
mainWin.splashScreen=&splashScreen;
mainWin.loadData();
mainWin.show();
splashScreen.finish(&mainWin);
//QMessageBox::warning(0,"",QSqlDatabase::drivers().join(",") +"\n" +QCoreApplication::libraryPaths().join("\n"));
int ret=app.exec();
return ret;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -