
FAQ QtConsultez toutes les FAQ
Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 15 juin 2021

Qt fournit la classe QDesktopServices et en particulier la fonction statique QDesktopServices::openUrl, qui permet d'interagir avec les applications associées par défaut. Elle peut être étendue si nécessaire pour ajouter ses propres handlers pour un schéma donné.
Grâce à la classe QDesktopWidget, il est possible de récupérer la résolution d'écran de l'utilisateur.
QApplication::desktop(), une fonction permettant d'obtenir l'instance de QDesktopWidget correspondant à ce qu'on appelle le widget de bureau, a été utilisée dans l'exemple ci-dessous mais aurait tout autant pu être remplacée par une instanciation explicite d'un objet QDesktopWidget.
int
largeur =
QApplication
::
desktop()->
width();
int
hauteur =
QApplication
::
desktop()->
height();
Comme le dit la documentation, les fonctions width() et height() sont utilisables ici, car QDesktopWidget hérite de QWidget.
Il aurait aussi été possible de passer par la fonction screenGeometry(), appartenant aussi à QDesktopWidget, qui retourne un QRect pour récupérer la résolution d'écran, ce qui aurait pour avantage de pouvoir retourner la résolution de chaque écran. Le fait que cette fonction retourne un QRect permettrait, dans le cas où l'on serait passé par la méthode avec les fonctions width() et height(), de retourner les valeurs recherchées.
Qt, depuis sa version 4.2, permet, grâce à la classe QSystemTrayIcon, de créer facilement des programmes ayant une entrée dans la zone de notification. Cela se fait à l'aide des quelques méthodes suivantes :
- void setIcon (const QIcon & icon) : permet d'appliquer une image qui servira d'icône dans la zone de notification ;
- void setContextMenu (QMenu * menu) : permet l'ajout d'un menu quand on fait un click droit sur l'icône se trouvant dans la zone de notification ;
- void showMessage (const QString & title, const QString & message, MessageIcon icon = Information, int millisecondsTimeoutHint = 10000) : permet l'affichage d'un popup dans la zone de notification.
Remarque : La méthode showMessage() (arrivée à partir de Qt 4.3), qui fait apparaître une infobulle, est dépendante des paramètres de l'OS.
Lien : QSystemTrayIcon :
ajoutez votre programme à la zone de notification avec Qt
Les sources présentés sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une œuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2006 - 2017 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.