Quelle est l'utilisation de divers plugins de plate-forme Qt?
Je faisais de la croix de la compilation d'un Qt5.2 demande d'un BRAS en fonction de la cible (TI AM335x EVM) et il n'affichait rien sur ma plate-forme. Après avoir fait quelques google qui pratiquent j'ai trouvé que si je l'ai lancé avec:
./helloworld -platform eglfs
il y aurait (plein écran, mais il a travaillé)!
J'ai commencé à regarder toutes les options de plate-forme, j'ai trouvé:
android, eglfs, linuxfb, minimalegl, windows, xcb, de cacao, de ios, à l'écran, qnx, directfp, kms, minimal, openwfd
Je me demande ce qu'ils sont pour. Je suppose, par exemple, que si je voulais lancer mon application sur un appareil Android, je serais obligé de passer -platform android
mais ils ne sont pas du tout évident pour moi.
Est-il une liste de n'importe où lors de chacun de ces paramètres devraient être utilisés?
Par exemple, ce qui ne eglfs
? Et pourquoi ai-je besoin de l'utiliser où que linuxfb
ne fonctionne pas?
(J'aurais pensé à linux, la mémoire tampon de trame était ce que je voulais lancer mon application depuis qu'il a été exécuté sur linux embarqué)
source d'informationauteur Mike
Vous devez vous connecter pour publier un commentaire.
Si le
linuxfb
plugin ne fonctionne pas, alors peut-être vous n'avez pas à configurer correctement le framebuffer périphérique sur votre système. Peut-être un directf couche est déjà en cours d'exécution, vous pouvez essayer de ledirectfb
plugin à la place.Si vous souhaitez éviter d'avoir à spécifier la plate-forme option lorsque vous exécutez le fichier exécutable, vous pouvez passer à la valeur par défaut pour
configure
lorsque vous générez Qt.Les plugins peuvent être décrits comme suit:
Linux plugins - ceux qui l'utilisent, spécifique à Linux, les périphériques d'entrée et de sortie différents dispositifs
eglfs - Utilise l'OpenGL ES en mode plein écran. Il n'y a pas d'autre moyen depuis OpenGL n'a pas de concept d'un gestionnaire de fenêtre.
directfb (pas directfp) - Utilise linux, la mémoire tampon de trame avec OpenGL ES via le directfb couche. S'intègre dans le directfb de fenêtrage.
linuxfb - Utilise linux, la mémoire d'image en mode plein écran. Il n'y a pas d'autre moyen depuis linuxfb a pas de concept de gestionnaire de fenêtre.
kms - Utilise linux kernel modesetting API en mode plein écran. Il n'y a pas d'autre moyen depuis le DRM n'a pas de concept d'un gestionnaire de fenêtre.
openwfd - Utilise un openwfd Wifi affichage en mode plein écran. Il n'y a pas d'autre moyen depuis openwfd a pas de concept de gestionnaire de fenêtre.
Indépendant de la plate-plugins - pourrait être fait pour fonctionner sur n'importe quel OS
xcb - s'Exécute sur un serveur X11 et est intégré dans le fenêtrage X11 environnement. En général, il ne se comporte pas correctement sans un gestionnaire de fenêtre en cours. Peut fonctionner sous Windows, donné un Windows de mise en œuvre de la xlib, si vous voulez, par exemple, servir des applications à partir d'un Windows serveur X11 mince terminaux (généralement Unix boîtes).
hors - Rendu d'un écran tampon. Utile pour le rendu d'affichage personnalisés.
minimal - Un minimaliste magasin de sauvegarde qui éventuellement vide le virtuel à l'écran dans un fichier. Met en œuvre le strict minimum afin de montrer comment commencer à écrire une plate-forme de plugin.
Autre plate-forme de plugins spécifiques
android Utilise l'Api Android et est intégré dans l'environnement Android.
windows Utilise la WINAPI et est intégré dans Windows fenêtrage de l'environnement.
de cacao Utilise le Cacao Api et est intégré dans l'OS de fenêtrage X environnement.
iOS Utilise l'iOS boîtes à outils et qui est intégré dans l'environnement iOS.
qnx - Utilise le QNX Api et est intégré dans le QNX photon de fenêtrage de l'environnement.
J'ai juste répondu dans le forum forums à la même requête. Si eglfs est fonctionnel et linuxfb est pas le cas, veuillez soumettre un rapport de bogue dans JIRA avec qt-project.org comme les deux eglfs et linuxfb dans AM335x utiliser linux framebuffer. eglfs (lorsqu'il est utilisé avec un widget de l'application) utilise sale-rectangle approche avec un affichage plein écran. Également se déplacer vers le QML, si possible, pour sur Qt5.
PS: vous pouvez exporter
QT_QPA_PLATFORM=eglfs
(oulinuxfb
) sur la cible, afin d'éviter la création de la plate-forme à chaque fois que vous appelez l'application. (http://doc.qt.io/qt-5/embedded-linux.html)