widget::widget(QWidget *parent) : QWidget(parent), ui(new Ui::widget) { ui->setupUi(this); //去窗口栏 // this->setWindowFlags(Qt::FramelessWindowHint); manager = new QNetworkAccessManager(this); city = "温州"; queryWeather(); connect(manager,SIGNAL(finished(QNetworkReply*)), // 必须要有finished信号才算下载完数据 this,SLOT(replyFinished(QNetworkReply*))); //托盘图标 tray = new Tray; tray->show(); timer = new QTimer; timer->start(3600000); connect(tray->hours1,&QAction::triggered,[this](){timer->start(3600000);qDebug() << timer->interval();}); connect(tray->hours3,&QAction::triggered,[this](){timer->start(10800000);qDebug() << timer->interval();}); connect(tray->hours6,&QAction::triggered,[this](){timer->start(21600000);qDebug() << timer->interval();}); //计时器到了后查天气 connect(timer,&QTimer::timeout,[this](){ this->queryWeather(); }); //托盘图标点击事件 connect(tray,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(widgetShow(QSystemTrayIcon::ActivationReason))); //托盘消息点击 connect(tray,SIGNAL(messageClicked()),this,SLOT(widgetShow(QSystemTrayIcon::DoubleClick))); }
static void createGUI(lua_State *L) { window *w = malloc(sizeof(window)); windowInit(w, "main", 300, 400); widgetReposition(WIDGET(w), 50, 50); widgetShow(WIDGET(w)); // GL stuff widgetEnableGL(WIDGET(w)); WIDGET(w)->vtbl->doDraw = paintWithGL; widgetAddTimerEventHandler(WIDGET(w), EVT_TIMER_SINGLE_SHOT, 3000, timer, NULL, NULL); }
void dowithserdata::run() { // int IsSerBreak = 0; while (!m_bIsRunFlag) { memset(&m_dataBuf,0,sizeof(Comdata)); if(GetDataFromQueuen(&m_dataBuf)) { serDataAnalyzing(m_dataBuf); widgetShow(); qDebug()<<"have got data from buffer"; } } }