QT的main.cpp源文件综合设置
#include "xxx.h"
#include <QtGui/QApplication>
#include <QTextCodec>
#include <QTranslator>
#include <QtSolution_/QtSingleApplication>
//兼容 mfc
#ifdef _DEBUG
int main(int argc, char *argv[])
#else
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
#endif
{
//应用MFC库,防止(在静态库中使用MFC) 静态编译 无法通过
int nRetCode = 0;
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: 更改错误代码以符合您的需要
_tprintf(_T("错误: MFC 初始化失败\n"));
nRetCode = 1;
}
else
{
// TODO: 在此处为应用程序的行为编写代码。
}
//兼容中文字符
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForTr(codec);
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
//单一实例
#ifdef _DEBUG
QtSingleApplication a(argc, argv);
#else
QtSingleApplication a(__argc, __argv);
#endif
if(a.isRunning())
{
//QMessageBox::warning(NULL, QString::fromLocal8Bit("警告"), QString::fromLocal8Bit("程序正在运行,无法再次打开"), QMessageBox::Ok);
return -1;
}
//加载翻译文件
QTranslator _translator;
_translator.load(a.applicationDirPath() + QString("/qm/qt_zh_CN"));
a.installTranslator(&_translator);
//添加plugin文件
a.addLibraryPath(a.applicationDirPath()+QString("/plugins"));
XXX w;
//加载qss文件
QFile qssFile(a.applicationDirPath()+QString("/qss/cwp.qss"));
if(qssFile.open(QFile::ReadOnly))
{
QString qssStyle = QLatin1String(qssFile.readAll());
w.setStyleSheet(qssStyle);
qssFile.close();
}
w.show();
return a.exec();
}