Afficher la fenêtre Qt sans voler l'accent
Je suis à l'aide de la bibliothèque Qt pour afficher un diaporama sur le second moniteur lorsque l'utilisateur n'utilise pas le second moniteur. Un exemple en est l'utilisateur de jouer à un jeu dans le premier moniteur et montrant le diaporama dans le second moniteur.
Le problème est que lorsque j'ouvre une nouvelle fenêtre dans Qt, il s'empare de la concentration de la demande précédente. Est-il un moyen pour éviter cela?
- J'ai essayé plusieurs choses, sans accent, et le paramètre désactivé, mais l'accent a toujours été volé. Solution: Ouvrez tous vos windows au démarrage et juste de les mettre à jour au cours de l'exécution.
- La plate-forme et système de fenêtre?
- Vous pouvez avoir plus de chance de poser cette question sur <listes.trolltech.com>
Vous devez vous connecter pour publier un commentaire.
Il m'a fallu un certain temps pour le trouver, mais je l'ai trouvé:
setAttribute(Qt::WA_ShowWithoutActivating);
Cette forces de la fenêtre pour l'activer. Même avec la
Qt::WindowStaysOnTopHint
drapeauQWidget
'srestoreGeometry
en quelque sorte, au moins lors de l'utilisation de Qt4.8 sur Windows.Si vous voulez en virgule flottante, boîte de prévisualisation/un widget suffit d'utiliser ci-dessous
Qt::l'Outil est important indicateur pour le faire fonctionner. Je veux dire, ne pas voler, de se concentrer.
Widgets ne pas accepter l'accent mis par défaut, mais je présume que vous n'avez pas créé un simple widget? Ce qui sous-classe est-il? QMainWindow ou autre chose?
Il est possible que la fenêtre de sous-classes par défaut pour accepter de se concentrer essayez donc d'en appelant explicitement QWidget::setFocusPolicy avec Qt::NoFocus avant d'appeler QWidget::show().
Aussi, assurez-vous que vous n'êtes pas à l'appel de QWidget::activateWindow() sur la fenêtre ou l'un de ses widgets en tout point.