210 qt测试程序

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <qlabel.h>
#include <QLineEdit>
#include<QMessageBox>
#include <linux/fb.h>
#include <sys/mman.h>
#include <malloc.h>
#include <termios.h>
//#include <QtCore/qstring.h>
#include <qstring.h>
#include <QtGui>
#include <form.h>
#include "mythread.h"
#include "linux/input.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    fd1=-1;
    fd2=-1;
    fd3=-1;
    fd4=-1;
    mk=0;
    svs=true;
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
    QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
    QFont font("wenquanyi",16,QFont::Bold); //浣跨敤wenquanyi瀛椾綋
    this->setFont(font);
    setWindowTitle(QObject::tr("鏂亾鏍稿績鏉挎祴璇曠郴缁?));
    ::system("hwclock -w");
    showbutton();
}


MainWindow::~MainWindow()
{
    delete ui;
}




struct fb_dev
{
        //for frame buffer
        int fb;
        void *fb_mem; //frame buffer mmap
        int fb_width, fb_height, fb_line_len, fb_size;
        int fb_bpp;
} fbdev;
void MainWindow::fb_stat(int fd)
{
        struct fb_fix_screeninfo fb_finfo;
        struct fb_var_screeninfo fb_vinfo;


        if (ioctl(fd, FBIOGET_FSCREENINFO, &fb_finfo))
        {
                //perror(__func__);
                //return (-1);
        }


        if (ioctl(fd, FBIOGET_VSCREENINFO, &fb_vinfo))
        {
                //perror(__func__);
                //return (-1);
        }


        fbdev.fb_width = fb_vinfo.xres;
        fbdev.fb_height = fb_vinfo.yres;
        fbdev.fb_bpp = fb_vinfo.bits_per_pixel;
        fbdev.fb_line_len = fb_finfo.line_length;
        fbdev.fb_size = fb_finfo.smem_len;


        //return (0);
}


void MainWindow::showbutton()
{
    int x,y;
    int i=0;
    QLabel *lbl = new QLabel(this);
    QFont lbl_font;
    qtext = new QTextEdit(this);
    x=800;
    y=480;
   // QLineEdit *LineTxt=new QLineEdit(this);






   PushButtonDisp=new QPushButton(this);
    PushButtonDisp->setText(QObject::tr("鏄剧ず"));
    PushButtonDisp->setGeometry(QRect(QPoint(40+(i++)*190, 20),
               QSize(150, 70)));
    PushButtonDisp->show();
    connect(PushButtonDisp,SIGNAL(clicked()),this,SLOT(qt_Disp()));


    PushButtonTouch=new QPushButton(this);
    PushButtonTouch->setText(QObject::tr("瑙︽懜"));
    PushButtonTouch->setGeometry(QRect(QPoint(40+(i++)*190, 20),
                   QSize(150, 70)));
    PushButtonTouch->show();
    connect(PushButtonTouch,SIGNAL(clicked()),this,SLOT(qt_Touch()));


    PushButtonCOM1=new QPushButton(this);
    PushButtonCOM1->setText(QObject::tr("涓插彛1"));
    PushButtonCOM1->setGeometry(QRect(QPoint(40+(i++)*190, 20),
                    QSize(150, 70)));
    PushButtonCOM1->show();
    connect(PushButtonCOM1,SIGNAL(clicked()),this,SLOT(qt_COM1()));


    PushButtonCOM2=new QPushButton(this);
    PushButtonCOM2->setText(QObject::tr("涓插彛2"));
    PushButtonCOM2->setGeometry(QRect(QPoint(40+(i++)*190, 20),
                     QSize(150, 70)));
    PushButtonCOM2->show();
     connect(PushButtonCOM2,SIGNAL(clicked()),this,SLOT(qt_COM2()));


    PushButtonCOM3=new QPushButton(this);
    PushButtonCOM3->setText(QObject::tr("涓插彛3"));
    PushButtonCOM3->setGeometry(QRect(QPoint(40+(i-2)*190, 40+70),
                     QSize(150, 70)));
    PushButtonCOM3->show();
     connect(PushButtonCOM3,SIGNAL(clicked()),this,SLOT(qt_COM3()));


    PushButtonCOM4=new QPushButton(this);
    PushButtonCOM4->setText(QObject::tr("涓插彛4"));
    PushButtonCOM4->setGeometry(QRect(QPoint(40+(i-1)*190, 40+70),
                    QSize(150, 70)));
    PushButtonCOM4->show();
    connect(PushButtonCOM4,SIGNAL(clicked()),this,SLOT(qt_COM4()));


    PushButtonUSB=new QPushButton(this);
    PushButtonUSB->setText("USB");
    PushButtonUSB->setGeometry(QRect(QPoint(40+(i-4)*190, 40+70),
                    QSize(150, 70)));
    PushButtonUSB->show();
    connect(PushButtonUSB,SIGNAL(clicked()),this,SLOT(qt_USB()));


    NetWork=new QPushButton(this);
    NetWork->setText(QObject::tr("缃戝崱"));
    NetWork->setGeometry(QRect(QPoint(40+(i-3)*190, 40+70),
                     QSize(150, 70)));
    NetWork->show();
    connect(NetWork,SIGNAL(clicked()),this,SLOT(qt_NetWork()));


    PushButtonKey=new QPushButton(this);
    PushButtonKey->setText(QObject::tr("鎸夐敭"));
    PushButtonKey->setGeometry(QRect(QPoint(40+(i-4)*190, 60+140),
                     QSize(150, 70)));
    PushButtonKey->show();
    connect(PushButtonKey,SIGNAL(clicked()),this,SLOT(qt_KEY()));


    PushButtonRTC=new QPushButton(this);
    PushButtonRTC->setText("RTC");
    PushButtonRTC->setGeometry(QRect(QPoint(40+(i-3)*190, 60+140),
                     QSize(150, 70)));
    PushButtonRTC->show();
    connect(PushButtonRTC,SIGNAL(clicked()),this,SLOT(qt_RTC()));


    PushButtonStorage=new QPushButton(this);
    PushButtonStorage->setText(QObject::tr("瀛樺偍鍗?));
    PushButtonStorage->setGeometry(QRect(QPoint(40+(i-2)*190,60+140),
                     QSize(150, 70)));
    PushButtonStorage->show();
    connect(PushButtonStorage,SIGNAL(clicked()),this,SLOT(qt_STR()));




    PushButtonResverd=new QPushButton(this);
    PushButtonResverd->setText(QObject::tr("棰勭暀"));
    PushButtonResverd->setGeometry(QRect(QPoint(40+(i-1)*190, 60+140),
                     QSize(150, 70)));
    PushButtonResverd->show();
    connect(PushButtonResverd,SIGNAL(clicked()),this,SLOT(qt_RES()));




    lbl_font.setPointSize(16);      //璁剧疆瀛椾綋澶у皬
    lbl->setFont(lbl_font);
    lbl->setText(QObject::tr("鎻愮ず淇℃伅"));
    lbl->setGeometry(QRect(QPoint(40+(i-4)*190+40, 60+210),
                           QSize(150, 70)));


    qtext->setGeometry(QRect(QPoint(40+(i-3)*190, 80+210),
                                QSize(520, 40)));
    qtext->setReadOnly(true);
    PushButtonInKey=new QPushButton(this);
    PushButtonInKey->setText(QObject::tr("鍗″叆鎸夐敭"));
    PushButtonInKey->setGeometry(QRect(QPoint(40+(i-4)*190, 80+280),
                     QSize(150, 70)));
    PushButtonInKey->show();
  //  connect(PushButtonInKey,SIGNAL(clicked()),this,SLOT(qt_IN()));




    PushButtonOutKey=new QPushButton(this);
    PushButtonOutKey->setText(QObject::tr("鍗″嚭鎸夐敭"));
    PushButtonOutKey->setGeometry(QRect(QPoint(40+(i-3)*190, 80+280),
                    QSize(150, 70)));
    PushButtonOutKey->show();
   // connect(PushButtonOutKey,SIGNAL(clicked()),this,SLOT(qt_OUT()));


    PushButtonTestKey=new QPushButton(this);
    PushButtonTestKey->setText(QObject::tr("娴嬭瘯鎸夐敭"));
    PushButtonTestKey->setGeometry(QRect(QPoint(40+(i-2)*190, 80+280),
                     QSize(150, 70)));
    PushButtonTestKey->show();
  //  connect(PushButtonTestKey,SIGNAL(clicked()),this,SLOT(qt_TEST()));


    PushButtonPrintKey=new QPushButton(this);
    PushButtonPrintKey->setText(QObject::tr("鎵撳嵃鎸夐敭"));
    PushButtonPrintKey->setGeometry(QRect(QPoint(40+(i-1)*190,80+280),
                     QSize(150, 70)));
    PushButtonPrintKey->show();
  //  connect(PushButtonPrintKey,SIGNAL(clicked()),this,SLOT(qt_Print()));


    i_sysinfo = new QProcess(this);
    connect(i_sysinfo, SIGNAL(readyReadStandardOutput()), this, SLOT(qt_Print()));


    timer = new QTimer(this);
    sign=1;
    connect(timer,SIGNAL(timeout()),this,SLOT(timeEvent()));


    timer1 = new QTimer(this);
    connect(timer1,SIGNAL(timeout()),this,SLOT(timeEvent1()));




    //MyThread myth;
    //connect(&myth,SIGNAL(started()),&myth,SLOT(print_hwc()));
    //myth.start();
    m_cmdhw = new QProcess (this);
    connect(m_cmdhw, SIGNAL(readyReadStandardOutput()), this, SLOT(print_hwc()));


}
void MainWindow::qt_Disp()
{
 //   QString *text1="Display Ok";
    int fb;
    long i;
    unsigned char *buffer;


    if ((fb = open("/dev/fb0", O_RDWR)) < 0) //闁瑰灚鎸哥槐鎴﹀及閹冨耿閻犱焦鍎抽ˇ?
    {
            //perror(__func__);
            //return (-1);
    }
    fb_stat(fb);
    fbdev.fb_mem = mmap (NULL, fbdev.fb_size, PROT_READ|PROT_WRITE,MAP_SHARED,fb,0);
                                                    //闁哄嫮濮撮惃鐘诲及閹呮憼闁革附婢樺? fbdev.fb = fb;
    buffer = (unsigned char *) malloc(800*480*4);
    for(i=0;i<800*480*4;)
    {


          buffer[i++]=0;


          buffer[i++]=0;


          buffer[i++]=255;
          buffer[i++]=0;
    }
   // memset(buffer,0xff0000,800*480*2);
    memcpy((unsigned char *)fbdev.fb_mem,buffer,800*480*4);
    usleep(1000*1000);
    for(i=0;i<800*480*4;)
    {


          buffer[i++]=0;


          buffer[i++]=255;


          buffer[i++]=0;
          buffer[i++]=0;
    }
   // memset(buffer,0x00,800*480*2);
    memcpy((unsigned int *)fbdev.fb_mem,buffer,800*480*4);
    usleep(1000*1000);
   // memset(buffer,0x0,800*480*2);
    for(i=0;i<800*480*4;)
    {


          buffer[i++]=0xff;


          buffer[i++]=0xff;


          buffer[i++]=255;
          buffer[i++]=0;
    }
    memcpy((unsigned char *)fbdev.fb_mem,buffer,800*480*4);
    usleep(1000*1000);
    update();
    Form *form;
    form = new Form();
    form->show();
    form->close();
    QString str = qtext->toPlainText();
    qtext->setPlainText(str+QObject::tr("\n鏄剧ず姝e父"));


    qtext->moveCursor(QTextCursor::End);
    PushButtonDisp->setEnabled(false);
    //PushButtonDisp->setStyleSheet("background-color:#00FF00");
}
void MainWindow::qt_Touch()
{


    ::system("ts_calibrate");
    PushButtonTouch->setEnabled(false);
   // PushButtonTouch->setStyleSheet("background-color:#00FF00");
}
bool MainWindow::open_serial(int x)
{


        switch(x) {
                case 0:
                        fd1 = ::open("/dev/ttySAC0", O_RDWR|O_NONBLOCK);


           // QMessageBox::warning(this, tr("warning"), tr("the com0 used on debug,if you want to use it,please modify the source code!"));
                       // return false;
                        break;
                case 1:
                        fd2 = ::open("/dev/ttySAC1", O_RDWR|O_NONBLOCK);
                        break;
                case 2:
                        fd3 = ::open("/dev/ttySAC2", O_RDWR|O_NONBLOCK);
                        break;
                case 3:
                        fd4 = ::open("/dev/ttySAC3", O_RDWR|O_NONBLOCK);
                        break;
                default:
                        QMessageBox::warning(this, tr("Error"), tr("Fail to open serial port!"));
                        break;
        }
QString str = qtext->toPlainText();
switch(x) {
        case 0:
    if(fd1 < 0)
    {
         qtext->setPlainText(str+QObject::tr("\n涓插彛1鎵撳紑澶辫触"));
         break;
    }
    else
    {




                termios serialAttr1;
                memset(&serialAttr1, 0, sizeof serialAttr1);
                serialAttr1.c_iflag = IGNPAR;
                serialAttr1.c_cflag = B115200 | HUPCL | CS8 | CREAD | CLOCAL;
                serialAttr1.c_cc[VMIN] = 1;
                if (tcsetattr(fd1, TCSANOW, &serialAttr1) != 0) {
                       qtext->setPlainText(str+QObject::tr("\n涓插彛1鎵撳紑澶辫触"));
                    QMessageBox::warning(this, tr("Error"), tr("set the port parameter failed!"));
                        return false;
                }
             //   QMessageBox::warning(this, tr("gzsd"), tr("open serial port1 ok!"));
                m_notifier1 = new QSocketNotifier(fd1, QSocketNotifier::Read, this);
                connect (m_notifier1, SIGNAL(activated(int)), this, SLOT(revdata1()));
            }
        break;


        case 1:
        if(fd2 < 0)
        {
             qtext->setPlainText(str+QObject::tr("\n涓插彛2鎵撳紑澶辫触"));
             break;
        }
        else
        {


                termios serialAttr2;
                memset(&serialAttr2, 0, sizeof serialAttr2);
                serialAttr2.c_iflag = IGNPAR;
                serialAttr2.c_cflag = B115200 | HUPCL | CS8 | CREAD | CLOCAL;
                serialAttr2.c_cc[VMIN] = 1;
                if (tcsetattr(fd2, TCSANOW, &serialAttr2) != 0) {
                        QMessageBox::warning(this, tr("Error"), tr("set the port parameter failed!"));
                        return false;
                }
              //  QMessageBox::warning(this, tr("gzsd"), tr("open serial port2 ok!"));
                m_notifier2 = new QSocketNotifier(fd2, QSocketNotifier::Read, this);
                connect (m_notifier2, SIGNAL(activated(int)), this, SLOT(revdata2()));
        break;
    }
        case 2:
        if(fd3 < 0)
        {
             qtext->setPlainText(str+QObject::tr("\n涓插彛3鎵撳紑澶辫触"));
             break;
        }
        else
        {


                termios serialAttr3;
                memset(&serialAttr3, 0, sizeof serialAttr3);
                serialAttr3.c_iflag = IGNPAR;
                serialAttr3.c_cflag = B115200 | HUPCL | CS8 | CREAD | CLOCAL;
                serialAttr3.c_cc[VMIN] = 1;
                if (tcsetattr(fd3, TCSANOW, &serialAttr3) != 0) {
                        QMessageBox::warning(this, tr("Error"), tr("set the port parameter failed!"));
                        return false;
                }
              //  QMessageBox::warning(this, tr("gzsd"), tr("open serial port3 ok!"));
                m_notifier3 = new QSocketNotifier(fd3, QSocketNotifier::Read, this);
                connect (m_notifier3, SIGNAL(activated(int)), this, SLOT(revdata3()));
        break;
    }
        case 3:
        if(fd4 < 0)
        {
             qtext->setPlainText(str+QObject::tr("\n涓插彛4鎵撳紑澶辫触"));
             break;
        }
        else
        {


                termios serialAttr4;
                memset(&serialAttr4, 0, sizeof serialAttr4);
                serialAttr4.c_iflag = IGNPAR;
                serialAttr4.c_cflag = B115200 | HUPCL | CS8 | CREAD | CLOCAL;
                serialAttr4.c_cc[VMIN] = 1;
                if (tcsetattr(fd4, TCSANOW, &serialAttr4) != 0) {
                        QMessageBox::warning(this, tr("Error"), tr("set the port parameter failed!"));
                        return false;
                }
              //  QMessageBox::warning(this, tr("gzsd"), tr("open serial port4 ok!"));
                m_notifier4 = new QSocketNotifier(fd4, QSocketNotifier::Read, this);
                connect (m_notifier4, SIGNAL(activated(int)), this, SLOT(revdata4()));
        break;
    }
}


        return true;
}


void MainWindow::close_serial()
{
        if (m_notifier) {
            delete m_notifier;
            m_notifier = 0;
        }
        if (fd1 >= 0) {
            ::close(fd1);
            fd1 = -1;
        }
        QMessageBox::warning(this, tr("gzsd"), tr("close serial port ok!"));
}


void MainWindow::send_data(int i)
{
        QString sendata="a1 b2 c3 d4";


        switch(i)
        {
                case 1:
                        ::write(fd1, sendata.toLatin1(), sendata.length());
                break;
                case 2:
                        ::write(fd2,sendata.toLatin1(), sendata.length());
                break;
                case 3:
                        ::write(fd3,sendata.toLatin1(), sendata.length());
                break;
                case 4:
                        ::write(fd4, sendata.toLatin1(), sendata.length());
                break;
        }
}


void MainWindow::empty_rev()
{


}
int i=0;
void MainWindow::revdata1()
{
        if(fd1 < 0){
                QMessageBox::warning(this, tr("gzsd"), tr("device not open!"));
                return;
        }
        char c;
        if (read(fd1, &c, sizeof c) < 0) {
                QMessageBox::warning(this, tr("Error"), tr("Receive error!"));
                return;
        }
        RevData+=QString(QChar(c));
        if(c=='4')
        {
        QString str = qtext->toPlainText();
        if(QString::localeAwareCompare(RevData,"a1 b2 c3 d4")==0)
        {
            PushButtonCOM1->setEnabled(false);
            qtext->setPlainText(str+RevData+QObject::tr("鎴愬姛"));
        }
        else
        {
            qtext->setPlainText(str+RevData+QObject::tr("澶辫触"));
        }
        qtext->moveCursor(QTextCursor::End);


        }
}
void MainWindow::revdata2()
{
        if(fd2 < 0){
                QMessageBox::warning(this, tr("gzsd"), tr("device not open!"));
                return;
        }
        char c;
        if (read(fd2, &c, sizeof c) < 0) {
                QMessageBox::warning(this, tr("Error"), tr("Receive error!"));
                return;
        }
        RevData+=QString(QChar(c));
        if(c=='4')
        {
        QString str = qtext->toPlainText();
        if(QString::localeAwareCompare(RevData,"a1 b2 c3 d4")==0)
        {
            PushButtonCOM2->setEnabled(false);
            qtext->setPlainText(str+RevData+QObject::tr("鎴愬姛"));
        }
        else
        {
            qtext->setPlainText(str+RevData+QObject::tr("澶辫触"));
        }
        qtext->moveCursor(QTextCursor::End);


        }
}
void MainWindow::revdata3()
{
        if(fd3 < 0){
                QMessageBox::warning(this, tr("gzsd"), tr("device not open!"));
                return;
        }
        char c;
        if (read(fd3, &c, sizeof c) < 0)
        {
                QMessageBox::warning(this, tr("Error"), tr("Receive error!"));
                return;
        }
        RevData+=QString(QChar(c));
        if(c=='4')
        {
        QString str = qtext->toPlainText();
        if(QString::localeAwareCompare(RevData,"a1 b2 c3 d4")==0)
        {
            qtext->setPlainText(str+RevData+QObject::tr("鎴愬姛"));
            PushButtonCOM3->setEnabled(false);
        }
        else
        {
            qtext->setPlainText(str+RevData+QObject::tr("澶辫触"));
        }
        qtext->moveCursor(QTextCursor::End);


        }
}
void MainWindow::revdata4()
{
        if(fd4 < 0){
                QMessageBox::warning(this, tr("gzsd"), tr("device not open!"));
                return;
        }
        char c;
        if (read(fd4, &c, sizeof c) < 0) {
                QMessageBox::warning(this, tr("Error"), tr("Receive error!"));
                return;
        }
        RevData+=QString(QChar(c));
        if(c=='4')
        {
        QString str = qtext->toPlainText();
        if(QString::localeAwareCompare(RevData,"a1 b2 c3 d4")==0)
        {
            PushButtonCOM4->setEnabled(false);
            qtext->setPlainText(str+RevData+QObject::tr("鎴愬姛"));
        }
        else
        {
            qtext->setPlainText(str+RevData+QObject::tr("澶辫触"));
        }
        qtext->moveCursor(QTextCursor::End);


        }
}




void MainWindow::qt_COM1()
{
    if(fd1<0)
        open_serial(0) ;
        send_data(1) ;
        QString str = qtext->toPlainText();
        qtext->setPlainText(str+QObject::tr("涓插彛1 \rtest "));
        qtext->moveCursor(QTextCursor::End);
        // qtext->toPlainText();// ("COM1 \rtest ");


}
void MainWindow::qt_COM2()
{
    if(fd2<0)
        open_serial(1) ;
        send_data(2) ;
        QString str = qtext->toPlainText();
        qtext->setPlainText(str+QObject::tr("\n涓插彛2 \rtest "));
        qtext->moveCursor(QTextCursor::End);


}
void MainWindow::qt_COM3()
{
    if(fd3<0)
        open_serial(2) ;
    RevData="";
        send_data(3) ;


        QString str = qtext->toPlainText();
        qtext->setPlainText(str+QObject::tr("\n涓插彛3 \rtest " ));
        qtext->moveCursor(QTextCursor::End);


}
void MainWindow::qt_COM4()
{
    if(fd4<0)
        open_serial(3) ;
        send_data(4) ;
        QString str = qtext->toPlainText();
        qtext->setPlainText(str+QObject::tr("\n涓插彛4 \rtest " ));
        qtext->moveCursor(QTextCursor::End);


}
void MainWindow::qt_USB()
{
        QString str = qtext->toPlainText();
        qtext->setPlainText(str+"\nUSB OK");
        qtext->moveCursor(QTextCursor::End);
        PushButtonUSB->setEnabled(false);
    //    PushButtonUSB->setStyleSheet("background-color:#00FF00");
}
void MainWindow::result_info()
{


}
void MainWindow::qt_NetWork()
{
    ::system("ifconfig eth0 up");
    ::system("udhcpc -i eth0");
    i_sysinfo->start("ifconfig eth0");
    QString str = qtext->toPlainText();
    qtext->setPlainText(str+"\n"+"please waiting ");


    qtext->moveCursor(QTextCursor::End);
    //  lineEdt->insert("eth0 set parameter end\n");




}
void MainWindow::qt_KEY()
{


 keys_fd = open ("/dev/input/event0", O_RDONLY);


 m_notifierrtc = new QSocketNotifier(keys_fd, QSocketNotifier::Read, this);
 connect (m_notifierrtc, SIGNAL(activated(int)), this, SLOT(timeEvent2()));




// timer2 = new QTimer(this);
// connect(timer2,SIGNAL(read()),this,SLOT(timeEvent2()));
//timer2->start(200);


      //close(keys_fd);




   // QString str = qtext->toPlainText();
  //  qtext->setPlainText(str+"\n"+QObject::tr("鎸夐敭姝e父 "));
  //  qtext->moveCursor(QTextCursor::End);
    PushButtonKey->setEnabled(false);
   // PushButtonKey->setStyleSheet("background-color:#00FF00");
}


void MainWindow::qt_RTC()
{
   // ::system("hwclock -s");


   timer1->start(1000);
   // print_hwc();
   // usleep(1000*1000);
   // m_cmdhw->start("hwclock");
   // print_hwc();
   // usleep(1000*1000);
   // m_cmdhw->start("hwclock");
  //  QString str = qtext->toPlainText();
   // qtext->setPlainText("qt_RTC OK\n");
   // qtext->moveCursor(QTextCursor::End);


}


void MainWindow::print_hwc()
{
    int i=0;


    lineInfo="";
    while (m_cmdhw->canReadLine())
    {
            lineInfo += m_cmdhw->readAllStandardOutput();
    }
    if(lineInfo == NULL)
    {
            lineInfo = "no data" ;
    }
    QString str = qtext->toPlainText();


     while((y= lineInfo.mid( i, 1 ))!=":")
             {


                     i++;


             }
    y=lineInfo.mid( i-2, 8 );
    if(mk==1)
    {
     RevRTC1=y;
     qtext->setPlainText(str+"\n"+y+" ");
    }
    else if(mk==2)
    {
        RevRTC2=y;
        qtext->setPlainText(str+y+" ");
    }
    else if(mk==3)
    {
        RevRTC3=y;
        qtext->setPlainText(str+y);
    }


     qtext->moveCursor(QTextCursor::End);


}
void MainWindow::qt_STR()
{
        // fdStr=::open("/sdcard/1234",O_CREAT | O_TRUNC | O_WRONLY,S_IWRITE);
        //fdStr=::open("/etc/init.d/rcS",O_RDWR);
        fdStr = ::open("/dev/mmcblk0", O_RDWR|O_NONBLOCK);
        QString str = qtext->toPlainText();
        if(fdStr==-1)
        {
            qtext->setPlainText(str+"\n"+QObject::tr("瀛樺偍澶辫触 "));
           // PushButtonStorage->setStyleSheet("background-color:#FF0000");
        }
        else
        {
            qtext->setPlainText(str+"\n"+QObject::tr("瀛樺偍姝e父 "));
            PushButtonStorage->setEnabled(false);
           // PushButtonStorage->setStyleSheet("background-color:#00FF00");
            ::close(fdStr);
        }
        qtext->moveCursor(QTextCursor::End);
}
void MainWindow::qt_RES()
{
    if(svs)
        {
            timer->start(1000);
            svs=false;
            PushButtonResverd->setText(QObject::tr("鍋滄"));
             //QString str = qtext->toPlainText();
            // qtext->setPlainText(str+"\n");
            // qtext->moveCursor(QTextCursor::End);
        }
    else
        {
            timer->stop();
            PushButtonResverd->setText(QObject::tr("棰勭暀"));
            svs=true;
           // QString str = qtext->toPlainText();
            //qtext->setPlainText(str);
           // qtext->moveCursor(QTextCursor::End);
        }
}
int mx=0;
void MainWindow::timeEvent()
{
    t=0,q=0;
    for(n=3;(1/n)>(1e-6);n+=4)
    {
            t+=(-1)*(1/n);
    }
    for(m=1;(1/m)>(1e-6);m+=4)
    {
            q+=(1/m);
    }
    QString s = QString("%10.8f ").arg((t+q)*4);
    QString str = qtext->toPlainText();
    if((mx++%2)==0)
        qtext->setPlainText(str+QObject::tr("\n璁$畻蟺鍊?)+s);
    else
        qtext->setPlainText(str+QObject::tr("璁$畻蟺鍊?)+s);
    qtext->moveCursor(QTextCursor::End);


}


void MainWindow::timeEvent1()
{
    QString str = qtext->toPlainText();


    mk+=1;






    m_cmdhw->start("hwclock");
    if(mk==4)
    {//QMessageBox::information(this,tr("info"),\
     //                         RevRTC1+RevRTC2+RevRTC3);


        timer1->stop();
        //mk=0;
        if((QString::localeAwareCompare\
           (RevRTC1,RevRTC2)!=0)&&(QString::\
           localeAwareCompare(RevRTC2,RevRTC3)!=0)&&\
           (QString::localeAwareCompare(RevRTC1,\
                                       RevRTC3)!=0))
        {
            PushButtonRTC->setEnabled(false);
            qtext->setPlainText(str+"\n"+QObject::tr("RTC姝e父"));


        }
        else
        {


            qtext->setPlainText(str+"\n"+QObject::tr("RTC澶辫触"));


        }
        qtext->moveCursor(QTextCursor::End);
    }
}


void MainWindow::timeEvent2()
{


    char ret[2];




    if (keys_fd <= 0)
      {
        printf ("open /dev/input/event0 device error!\n");
      }


        if (read (keys_fd, &t1, sizeof (t1)) == sizeof (t1))
          {
            if (t1.type == EV_KEY) {
                if (t1.value == 1)
                {
                  //  printf ("%d key %d %s\n", t1.type,t1.code,
                   //         (t1.value) ? "Pressed" : "Released");
                    switch (t1.code)
                    {
                    case 103:
                       // printf ("%d key %d %s\n", t1.type,t1.code,
                     //           (t1.value) ? "Pressed" : "Released");
                        PushButtonInKey->setEnabled(false);
                       // printf ("%d key %d %s\n", t1.type,t1.code,
                      //          (t1.value) ? "Pressed" : "Released");
                        break;
                    case 108:
                        PushButtonOutKey->setEnabled(false);break;
                    case 1:
                        PushButtonTestKey->setEnabled(false);break;
                    case 28:
                        PushButtonPrintKey->setEnabled(false);break;
                    }
                }
            }
      }
}
void MainWindow::qt_IN()
{
    QString str = qtext->toPlainText();
    qtext->setPlainText(str+"\n"+QObject::tr("鍗″嚭鎸夐敭姝e父"));
    qtext->moveCursor(QTextCursor::End);
    PushButtonInKey->setEnabled(false);
  //  PushButtonInKey->setStyleSheet("background-color:#00FF00");
}
void MainWindow::qt_OUT()
{
    int keys_fd;
    char ret[2];
    int i;
    struct input_event t;


    keys_fd = open ("/dev/input/event0", O_RDONLY);
    if (keys_fd <= 0)
      {
        printf ("open /dev/input/event2 device error!\n");
        //return 0;
      }


    while (1)
      {
        if (read (keys_fd, &t, sizeof(t)))// == sizeof (struct input_event))
          {
            if (t.type == EV_KEY) {
                if ( t.value == 1)
                {
                    //printf ("%d key %d %s\n",i, t.code,
                       //     (t.value) ? "Pressed" : "Released");
                    // if(t.code==KEY_ESC)
                    //   break;


                }
            }
          }
        printf ("key \n");
        usleep(200*1000);
      }
    //close(keys_fd);


  //  QString str = qtext->toPlainText();
 //   qtext->setPlainText(str+"\n"+QObject::tr("鍗″叆鎸夐敭姝e父"));
 //   qtext->moveCursor(QTextCursor::End);
 //   PushButtonOutKey->setEnabled(false);
   // PushButtonOutKey->setStyleSheet("background-color:#00FF00");
}
void MainWindow::qt_TEST()
{
    //QString str = qtext->toPlainText();
  //  qtext->setPlainText(str+"\n"+QObject::tr("娴嬭瘯鎸夐敭姝e父"));
  //  qtext->moveCursor(QTextCursor::End);
  //  PushButtonTestKey->setEnabled(false);
    //PushButtonTestKey->setStyleSheet("background-color:#00FF00");
}
void MainWindow::qt_Print()
{
    QString t,t1,y ;
    t="inet addr:";
    t1="Bcast:";
    int m;
   // lineInfo = "";
   // lineEdt->clear();
  //  lineEdt->insert("now start eth0 test");
    while (i_sysinfo->canReadLine()) {
            //int i = i_sysinfo->canReadLineStdout();
            //printf("read state is %d\n",i);
            lineInfo += i_sysinfo->readAllStandardOutput();
    }
    if(lineInfo == NULL) {
            lineInfo = "no data" ;
    }


    while((y= lineInfo.mid( i, 10 ))!=0)
            {


                if(y.localeAwareCompare(t)==0)
                {




                 m=i;
                }


                    i++;
            }


   i=0;
    while((y= lineInfo.mid( i, 6 ))!=0)
     {


         if(y.localeAwareCompare(t1)==0)
         {


           t = lineInfo.mid( m+10, i-m-10 );
         }
             i++;


     }
    //printf("start print the info\n");
    //QMessageBox::information(this,tr("info"),tr(lineInfo));
      QString str = qtext->toPlainText();
     qtext->setPlainText(str+"\n"+QObject::tr("鍒嗛厤IP鍦板潃:")+t+QObject::tr(" 缃戠粶娴嬭瘯鎴愬姛"));
     qtext->moveCursor(QTextCursor::End);
     NetWork->setEnabled(false);
    // NetWork->setStyleSheet("background-color:#00FF00");
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值