#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); //this->setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint); //Remove title bar lblSdGifSizeX = 500; lblSdGifSizeY = 340; showImg(1); fontSize = 32; on_btnLoading_clicked(); exitFlag = 0; fontFile = new QFileInfo; mmcblk0File = new QFileInfo; mmcblk0p1File = new QFileInfo; QTimer *timerMain = new QTimer(this); connect(timerMain, SIGNAL(timeout()), this, SLOT(scanSdCard())); timerMain->start(2000); } MainWindow::~MainWindow() { delete ui; } void MainWindow::showImg(int i) { if(i) { imgOpen = new QImage(":/qrc/SDCard.png"); *imgOpen = imgOpen->scaled(lblSdGifSizeX, lblSdGifSizeY); //Qt::KeepAspectRatio(Keep the aspect ratio) ui->lblSdGif->setPixmap(QPixmap::fromImage(*imgOpen)); qApp->processEvents(); //qDebug()<<"1" ; } else { imgOpen = new QImage(":/qrc/SDCardW.png"); *imgOpen = imgOpen->scaled(lblSdGifSizeX, lblSdGifSizeY); //Qt::KeepAspectRatio(Keep the aspect ratio) ui->lblSdGif->setPixmap(QPixmap::fromImage(*imgOpen)); //qDebug()<<"0"; } } void MainWindow::runApp(int i) { ui->lblText->setText(tr("找到程序文件,加载中 . . .")); if(!i) QProcess::execute("./../media/mmcblk0/ET_Platform1/IoT6G2C_Demo02_TFT -qws &"); else QProcess::execute("./../media/mmcblk0p1/ET_Platform1/IoT6G2C_Demo02_TFT -qws &"); } void MainWindow::scanFontFile(int i) { if(fontFile->exists()) { switch (i) { case 0: runApp(0); break; case 1: runApp(1); break; case 2: ui->lblText->setText(tr("未找到程序文件,请检查内存卡!")); showImg(0); default: break; } } else if(!fontFile->exists()) { switch(i) { case 0: system("./../media/mmcblk0/ET_Platform1/Setup.sh"); ui->lblText->setText("Font file wrong!Updating font file . . ."); showImg(0); scanFontFile(0); break; case 1: system("./../media/mmcblk0p1/ET_Platform1/Setup.sh"); ui->lblText->setText("Font file wrong!Updating font file . . ."); showImg(0); scanFontFile(1); break; case 2: ui->lblText->setText("Find no app and font file,please check SD card!"); showImg(0); default: break; } } } void MainWindow::scanSdCard() { showImg(1); sleep(1); system("echo Hi"); fontFile->setFile("/usr/local/qt-4.8.6/lib/fonts/wqy-microhei.ttf"); mmcblk0File->setFile("/media/mmcblk0/ET_Platform1/IoT6G2C_Demo02_TFT"); mmcblk0p1File->setFile("/media/mmcblk0p1/ET_Platform1/IoT6G2C_Demo02_TFT"); //mmcblk0p1File->setFile("F:/Files/190724/ET_Platform1/IoT6G2C_Demo02_TFT"); if(exitFlag>=10) { exitFlag = 0; QProcess *newApp = new QProcess; newApp->start("/home/M6G2C_SDCard -qws"); QApplication::exit(0); } exitFlag++; if(mmcblk0File->exists()) { font.setPixelSize(fontSize); ui->lblText->setFont(font); scanFontFile(0); } else if(mmcblk0p1File->exists()) { font.setPixelSize(fontSize); ui->lblText->setFont(font); int i=0; i++; ui->btnLoading->setText((QString)i); scanFontFile(1); } else { font.setPixelSize(fontSize); ui->lblText->setFont(font); scanFontFile(2); } } void MainWindow::on_btnLoading_clicked() { //scanSdCard(); if(windowsFlag) { windowsFlag = 0; this->setGeometry(0,0,480,272); ui->lblSdGif->setGeometry(50,50,380,150); lblSdGifSizeX = 240; lblSdGifSizeY = 150; *imgOpen = imgOpen->scaled(lblSdGifSizeX, lblSdGifSizeY); ui->lblSdGif->setPixmap(QPixmap::fromImage(*imgOpen)); ui->lblText->setGeometry(90,210,300,31); fontSize = 12; } else { windowsFlag = 1; this->setGeometry(0,0,1024,768); ui->lblSdGif->setGeometry(90,30,826,610); lblSdGifSizeX = 500; lblSdGifSizeY = 340; *imgOpen = imgOpen->scaled(lblSdGifSizeX, lblSdGifSizeY); ui->lblSdGif->setPixmap(QPixmap::fromImage(*imgOpen)); ui->lblText->setGeometry(260,590,521,81); fontSize = 32; } font.setPixelSize(fontSize); ui->lblText->setFont(font); } void MainWindow::on_btnShutdown_clicked() { system("poweroff"); // qApp->exit(0); }