2009-08-27 8 views
2

Comment placer un widget Qt4 juste au-dessus de la barre d'état système sous Windows. Puisque les coordonnées exactes peuvent dépendre de la résolution et même de la taille et de l'emplacement de la barre des tâches (en haut ou en bas de l'écran, etc.)?Emplacement du widget Qt4 sur Windows

Je pense qu'il existe probablement une méthode pour obtenir la résolution d'écran, mais y a-t-il une méthode pour obtenir la taille de la barre des tâches et le placement?

Répondre

1

Non, il n'y en a pas. Vous pouvez obtenir la taille de l'écran en utilisant QDesktopWidget - cela vous donnera le nombre d'écrans, la taille de l'écran, etc Cependant, trouver l'emplacement de la barre des tâches, puis la barre d'état système est spécifique à la plate-forme.

Pourquoi voulez-vous faire cela? Essayez-vous d'imiter un QSystemTrayIcon? Peut-être que si vous nous disiez ce que vous essayez de faire, nous pourrions peut-être vous aider.

+1

Lorsque je clique sur l'icône de la barre système, je veux ma fenêtre à paraître juste au-dessus (ou au-dessous, à proximité, dépend de la mise en place de la barre des tâches) de l'icône de la barre système. Je ne pense pas qu'il émule le QSystemTrayIcon ou est-ce? – slhsen

+1

Ahh, je vois. Malheureusement, l'objet de la barre d'état système n'est pas une classe dérivée de QWidget, vous ne pouvez donc pas obtenir sa géométrie d'écran. Je suppose que vous finirez par utiliser des appels système spécifiques à la plate-forme pour celui-ci. – Thomi

1

En réponse à ma propre question, mais apparemment avec Qt 4.3 je peux obtenir les coordonnées de l'icône de la barre en utilisant la méthode QSystemTrayIcon.geometry(). Je peux donc placer ma fenêtre relativement. Ce serait encore mieux si je pouvais obtenir la position de la barre des tâches mais je suppose que je peux trouver quelque chose pour cela.

http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qsystemtrayicon.html#geometry

+0

Im essayant de faire aussi quelque chose comme ceci, est-ce que cela fonctionne pour vous? – user63898

Questions connexes