Files
2026-07-02 14:32:38 +08:00

243 lines
7.3 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#include <QApplication>
#include <QVBoxLayout>
#include <InputMethod.h>
#include <QKeyEvent>
#include <QTextCodec>
#include <QTextEdit>
#include <QFont>
//#include <QWSServer>
#include <stdio.h>
//#include "logo_form.h"
#include "MyInputMethod.h"
//#include "mainwindow.h"
#include <QDebug>
#include <QTranslator>
#include <QMessageBox>
#include <QStyleFactory>
#include <QFontDatabase>
#include "myinclude.h"
#include "Public.h"
#include "mainwidget.h"
#include "InkJetPrinter.h"
#include "Log/filelogger.h"
#include "dump.h"
QString gAppNameStr = "";
//#define SYS_CN
/*
1. WenQuanYiMH_12_50.qpf2 是由 Zfull-GB_12_50(Zpix.ttf)在PCMAKEQPF软件下生成的,它包含较完整的字体库 nono 20160302
2. 基于WenQuanYiCN编越南语,中文通用字库
3. 基于WenQuanYiMicroHei编 普通版本字库
#git commit -am "测试提交新数据"
#git push
#git clone xiongnie@119.23.201.56:/var/repo_dir/QtUI.git
#git pull xiongnie@119.23.201.56:/var/repo_dir/QtUI.git
#git remote add origin git@github.com:username/Hello-World.git
#git push origin master 将本地项目给提交到服务器中
#-----------------------------------------------------------
#git pull 本地与服务器端同步
#-----------------------------------------------------------------
#git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。
#git push origin serverfix:awesomebranch
git remote add origin xiongnie@119.23.201.56:/var/repo_dir/QRUIV53.git
###
*/
InkJetPrinter *pInkJectPrinter;
MyInputMethod *myInputMethod;
//#include <X11/Xlib.h>
//#include <X11/X.h>
//#include <X11/Xutil.h>
void loadApplicationFonts();
int main(int argc, char *argv[])
{
//#ifdef MULTILANGUAGE
// qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
//#endif
QString keyBoardType = Public::ReadKeyBoardUse();
// QString keyBoardType = "MultiLanguage";
if(keyBoardType == "MultiLanguage")
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
QApplication a(argc, argv);
gAppNameStr = QString::fromUtf8(argv[0]);
installSignalHandlers();
// 配置日志
QString configFileName = ":/conf/config.ini";
QSettings* logSettings = new QSettings(configFileName, QSettings::IniFormat, &a);
logSettings->beginGroup("logging");
FileLogger* logger = new FileLogger(logSettings, 10000, &a);
logger->installMsgHandler();
qInfo() << "App runtime path: " <<QDir::currentPath();
loadApplicationFonts();
QApplication::setStyle(QStyleFactory::create("Windows"));
QFont f = a.font();
QString langurageFile;
QFile file(SYS_ROOT_DIR"UseEn");
if(file.exists())
{
QString langurageType = Public::ReadLanguageName();//"";//
// QString langurageType= "English";
qDebug()<<"La:"<<langurageType;
if(langurageType=="Turkish") {
f.setFamily("wenquanyi_zh");
langurageFile= "./turkey.qm";
f.setPointSize(12);
f.setPixelSize(12);
}
else if(langurageType=="Spanish")
{
//f.setFamily("WenQuanYiNX");//f.setFamily("Zfull-GB"); //f.setFamily("WenQuanYiMH");//Cambria
f.setFamily("wenquanyi_zh");
langurageFile= "./spanish.qm";
f.setPointSize(12);
f.setPixelSize(12);
}
else if(langurageType=="Thai")
{
//f.setFamily("WenQuanYiNX");//f.setFamily("Zfull-GB"); //f.setFamily("WenQuanYiMH");//Cambria
f.setFamily("Kanit");
langurageFile= "./thai.qm";
f.setPointSize(12);
f.setPixelSize(12);
}
else if(langurageType=="Vietnamese") {
f.setFamily("Arial");//f.setFamily("Zfull-GB"); //f.setFamily("WenQuanYiMH");//Cambria
f.setPointSize(12);
//f.setFixedPitch(1);
f.setPixelSize(12);
langurageFile= "./vena.qm";
}
else if(langurageType=="English") {
f.setFamily("Arial");
#ifdef EnableBangla
f.setFamily("wenquanyi_zh");
#endif
langurageFile= "./english.qm";
f.setPointSize(12);
f.setPixelSize(12);
}
else if(langurageType=="Farsi") {
//f.setFamily("WenQuanYiNX");//f.setFamily("Zfull-GB"); //f.setFamily("WenQuanYiMH");//Cambria
f.setFamily("Arial");
langurageFile= "./farsi.qm";
f.setPointSize(12);
f.setPixelSize(12);
}
else if(langurageType=="Korean") {
// f.setFamily("Microsoft YaHei Light");
f.setFamily("NanumSquareRound");
langurageFile= "./korean.qm";
f.setPointSize(14);
f.setPixelSize(14);
// f.setLetterSpacing(1,8);
}
else{
f.setFamily("WenQuanYi Micro Hei");
f.setPointSize(18);
f.setPixelSize(18);
langurageFile ="./qt_zh_CN.qm";
}
}
else{
langurageFile ="./qt_zh_CN.qm";
f.setFamily("WenQuanYi Micro Hei");
f.setPointSize(16);
f.setPixelSize(16);
}
a.setFont(f);
/*-------------------------------------------------*/
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);
/*------------------语言国际化-------------------------*/
QTranslator *translator = new QTranslator();
if(translator->load(langurageFile)==false){
translator->deleteLater();
QMessageBox::critical(0,("错误"),("无法加载中文翻译文件") + langurageFile);
}
else {
QApplication::installTranslator(translator);
}
myInputMethod = new MyInputMethod();//edit@02-07
InkJetPrinter w;
#ifndef Q_OS_WIN32
w.setWindowTitle(("比洋喷码"));
#endif
if (QSysInfo::buildCpuArchitecture().contains("x86")) {
qDebug() << "Running in Debug mode";
w.show();
} else {
qDebug() << "Running in Release mode";
w.showFullScreen();
}
pInkJectPrinter = &w;
return a.exec();
}
void loadApplicationFonts() {
QStringList fontPaths = {
"/usr/lib/fonts/YaHeiBold-5pt-6.bdf",
"/usr/lib/fonts/YaHeiBold-7pt-8.bdf",
"/usr/lib/fonts/YaHeiBold-9pt-10.bdf",
"/usr/lib/fonts/YaHeiBold-12pt-13.bdf",
"/usr/lib/fonts/YaHeiBold-16pt-17.bdf",
"/usr/lib/fonts/WenQuanYiMedium-5pt-6.bdf",
"/usr/lib/fonts/WenQuanYiMedium-7pt-8.bdf",
"/usr/lib/fonts/DinkieBitmap9pxMedium-9pt-10.bdf",
"/usr/lib/fonts/WenQuanYiMedium-12pt-13.bdf",
"/usr/lib/fonts/WenQuanYiMedium-16pt-17.bdf",
"/usr/lib/fonts/WenQuanYiMedium-24pt-25.bdf",
"/usr/lib/fonts/WenQuanYiMedium-32pt-33.bdf",
"/usr/lib/fonts/WenQuanYiMicroHei.ttf",
"/usr/lib/fonts/msyhl_12pt.bdf",
"/usr/lib/fonts/arial.ttf",
"/usr/lib/fonts/YanglabeldotMedium-12pt-13.bdf",
"/usr/share/fonts/truetype/nanum/NanumSquareRoundR.ttf"
};
foreach (const QString &path, fontPaths) {
if (QFile::exists(path)) {
int fontId = QFontDatabase::addApplicationFont(path);
if (fontId == -1) {
qDebug()<< "Failed to load font:" << path;
} else {
qDebug()<< "Loaded font:" << path<< "ID:"<< fontId;
}
}
}
}