FAQ Qt
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