#include "mainwindow.h" #include #include #include #include #include #include "./ui_mainwindow.h" #include "camera_light_src_timing_controller/qt_serial_datachannel.hpp" #include "logger.hpp" using namespace iflytop; using namespace clst; using namespace std; static MainWindow *m_mainWindow; static CLSTControler *m_clstc; ZQThread *m_zqthread; #define TAG "MainWindow" static const char *fmt(const char *fmt, ...) { va_list args; va_start(args, fmt); static char buf[1024] = {0}; vsnprintf(buf, sizeof(buf), fmt, args); va_end(args); return buf; } void MainWindow::log_output(QtMsgType type, const QMessageLogContext &context, const QString &msg) {} void MainWindow::doinui_slot(QFunction func) { if (func.get()) func.get()(); } void MainWindow::dumpLog(const char *fmt, ...) { va_list args; va_start(args, fmt); char buf[1024] = {0}; vsnprintf(buf, sizeof(buf), fmt, args); // qDebug() << buf; va_end(args); QString text(buf); QString info; // zos_get_ticket info.append(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz")); info.append(" [Info]:"); info.append(text); static int id; // informationBrowser emit doinui_signal(QFunction([this, info]() { if (ui->instructionPreview->document()->lineCount() > 100) { ui->instructionPreview->document()->clear(); } ui->instructionPreview->append(info); })); } void MainWindow::displayInfo(bool suc, QString info) { emit doinui_signal(QFunction([this, info, suc]() { static int cnt = 0; cnt++; QString _info; _info.append("["); _info.append(QString::number(cnt)); _info.append("] "); _info.append(info); if (suc) { ui->informationBrowser->setStyleSheet("color: green"); } else { ui->informationBrowser->setStyleSheet("color: red"); } ui->informationBrowser->setText(_info); })); } MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { /******************************************************************************* * QT初始化 * *******************************************************************************/ ui->setupUi(this); m_mainWindow = this; qRegisterMetaType("int32_t"); qRegisterMetaType("uint32_t"); qRegisterMetaType("float"); qRegisterMetaType>("function"); qRegisterMetaType("QFunction"); connect(this, SIGNAL(doinui_signal(QFunction)), this, SLOT(doinui_slot(QFunction))); /******************************************************************************* * 页面逻辑初始化 * *******************************************************************************/ constructUI(); } MainWindow::~MainWindow() { delete ui; } /******************************************************************************* * UI相关构造 * *******************************************************************************/ void MainWindow::constructUI() {}