Sagen wir mal ein paar Bilder von einem Qt-Konsolenprogramm und dass Fontmetriken erzeugt werden müssen durch interne Algorithmen benötigt werden (sie verwenden, um die Text Breite/Höhe als Eingabe zu berechnen die Position, an der die Zeichnung erscheinen soll). Dieses Programm muss auf einem Linux ohne GUI laufen (Runlevel-3, im Grunde ein Cluster ohne Display-Server).Erste Font-Metriken ohne GUI (Konsolen-Modus)
Problem: QFontMetrics sind nur verfügbar, wenn eine Qt-Anwendung im GUI-Modus ausgeführt wird.
Jede Problemumgehung, um String-Metriken ohne Display-Server zu erhalten?
Tat beim Versuch, eine QFont zu verwenden, ohne Anwendung es angebracht wirft 'ASSERT Fehler in QGuiApplication :: Schrift(): "no QGuiApplication Instanz"'. Ich weiß, dass es keine wünschenswerte Lösung ist, aber Sie können eine Dummy-Anwendung erstellen und sie als "Container" für die Schriftarten verwenden. Führen Sie die App nicht einfach aus (app.exec()), sondern löschen Sie sie nach der Verwendung. –
Sie brauchen 'gui' Modul, aber Sie brauchen nicht wirklich' UI'. Wahrscheinlich benötigen Sie auch das Objekt 'QApplication' (nicht 'QCoreApplication'), aber Sie müssen kein Widget erstellen. –
Ja, aber die QApplication ruft exit (1) auf, wenn es keinen Display-Server gibt ... – gpalex