lvds-embedded-hmi-qt5-7.ino

BIOSSTAR BIWCL-PAT: SBC industrial de 3,5" con Intel Wildcat Lake · Archivo : lvds-embedded-hmi-qt5-7.ino · Lenguaje : C++ (Qt5) · Uso : Afficher une interface homme-machine industrielle sur l'écran LVDS 1920x1200 natif avec Qt5/Linux.

Initialise une interface graphique Qt5 optimisée pour la sortie LVDS native de la carte, adaptée aux bornes interactives.

Cet exemple nécessite libqt5-dev sur Ubuntu 24.04. La carte BIWCL-PAT gère l'affichage LVDS via son header dédié (câble plat non fourni). Le code utilise QWidget pour minimiser la charge GPU sur le SoC Wildcat Lake. Compilez avec qmake ou CMake. L'exécution directe via ./hmi_app affiche l'interface en plein écran sans gestionnaire de fenêtres lourd, idéal pour l'edge computing. Vérifiez que le noyau Linux détecte bien la sortie LVDS (fbcon ou DRM).

lvds-embedded-hmi-qt5-7.ino

#include <QApplication>
#include <QMainWindow>
#include <QLabel>
#include <QVBoxLayout>
#include <QFont>
#include <QPalette>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    
    // Forcer la résolution LVDS native si détectée
    QScreen *screen = QApplication::primaryScreen();
    QRect screenGeometry = screen->geometry();
    qDebug() << "LVDS Resolution:" << screenGeometry.size();

    QMainWindow window;
    window.setWindowTitle("BIWCL-PAT Industrial HMI");
    window.setStyleSheet("background-color: #1e1e1e; color: #00ff00;");

    QWidget *centralWidget = new QWidget();
    QVBoxLayout *layout = new QVBoxLayout(centralWidget);
    
    QLabel *statusLabel = new QLabel("SYSTEM: ONLINE\\nTEMP: 45°C\\nNET: OK");
    statusLabel->setFont(QFont("Monospace", 24));
    statusLabel->setAlignment(Qt::AlignCenter);
    
    layout->addWidget(statusLabel);
    window.setCentralWidget(centralWidget);
    
    // Masquer la barre de titre pour un mode plein écran industriel
    window.setWindowFlags(Qt::FramelessWindowHint);
    window.showFullScreen();

    return app.exec();
}

← Volver a la ficha