#include "mainwindow.h" #include #include #include #include #include #include #include #include #include #include "QScreen" #include #include //include #include "dlink.h" QSize GetDesktopSize() { #ifdef __arm__ int fb_fd = open("/dev/fb0", O_RDWR); int lcd_width, lcd_height; static struct fb_var_screeninfo var; if(-1 == fb_fd) { printf("cat't open /dev/fb0 \n"); return QSize(0, 0); } //获取屏幕参数 if(-1 == ioctl(fb_fd, FBIOGET_VSCREENINFO, &var)) { close(fb_fd); printf("cat't ioctl /dev/fb0 \n"); return QSize(0, 0); } // 计算参数 lcd_width = var.xres; lcd_height = var.yres; printf("fb width:%d height:%d \n", lcd_width, lcd_height); close(fb_fd); return QSize(lcd_width, lcd_height); #endif QScreen *screen=QGuiApplication::primaryScreen (); QRect mm=screen->availableGeometry(); int screen_width = mm.width(); int screen_height = mm.height(); qDebug()<<"availableGeometry:" << screen_width<= 1600) { screen_width = 1600; } if(screen_height >= 860) { screen_height = 860; } return QSize(screen_width, screen_height);//最大1366*768 //return QSize(1920, 1080);//最大1366*768 } void CheckDir(const QString &path) { QDir dir(path); if (!dir.exists()) { dir.mkpath(path); } } void CheckDirs(const QString &path, const QStringList &dirs) { for (int i = 0; i < dirs.size(); i++) { CheckDir(path + dirs.at(i)); } } void makeDir(void) { //构建语言文件夹 QDir *Languagedir = new QDir; if(!Languagedir->exists("./Language")) { qDebug() << "make dir Language"; Languagedir->mkdir("./Language");//如果文件夹不存在就新建 } //构建日志目录 QDir *logdir = new QDir; if(!logdir->exists("./log")) { qDebug() << "make dir log"; logdir->mkdir("./log");//如果文件夹不存在就新建 } //构建Tlog目录 QDir *Tlogdir = new QDir; if(!Tlogdir->exists("./log/tlog")) { qDebug() << "make dir tlog"; Tlogdir->mkdir("./log/tlog");//如果文件夹不存在就新建 } //构建CSV目录 QDir *csvlog = new QDir; if(!csvlog->exists("./log/csv")) { qDebug() << "make dir csv"; csvlog->mkdir("./log/csv");//如果文件夹不存在就新建 } //构建文本日志目录 QDir *textlog = new QDir; if(!textlog->exists("./log/textlog")) { qDebug() << "make dir textlog"; textlog->mkdir("./log/textlog");//如果文件夹不存在就新建 } //构建Other目录 QDir *Otherdir = new QDir; if(!Otherdir->exists("./log/other")) { qDebug() << "make dir other"; Otherdir->mkdir("./log/other");//如果文件夹不存在就新建 } } QStringList getFiles(const QString &filePath,const QString &fileSuffix) { QStringList list; list.clear(); QDir Dir(filePath); //查看工作路径是否存在 if(!Dir.exists()){ return list;} //如果文件夹不存在则返回 Dir.setFilter(QDir::Files); //设置过滤器只查看文件 QStringList filelist = Dir.entryList(QDir::Files); //获取所有文件 foreach (QFileInfo file, filelist) //遍历只加载.txt到文件列表 { //qDebug() << file.absolutePath() << file.fileName(); if(file.suffix() == fileSuffix) //判断进行再次确认是.fileSuffix { list.push_back(filePath + file.fileName()); } } return list; } void LoadLang(QApplication *a) { QTranslator * qtTranslator = new QTranslator{}; QString lang = "qt_" + QLocale::system().name(); if (qtTranslator->load(lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath)) && a->installTranslator(qtTranslator)) { qDebug() << "Success to load translator " <load(lang, QCoreApplication::applicationDirPath()) && a->installTranslator(Translator)) { qDebug() << "Success to load translator " <availableGeometry().width()-w.width())/2,(screen->availableGeometry().height()-w.height())/2); return a.exec(); }