IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

[Problème] Affichage sur deuxième moniteur [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 14
    Par défaut [Problème] Affichage sur deuxième moniteur
    Bonjour à tous,

    Je voudrai afficher une fenêtre créée par tkinter sur le deuxième moniteur.

    Comment faire ?

    Merci pour votre aide.

    Fox

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 715
    Par défaut
    Salut,

    Cà se fait avec .geometry.
    Le plus compliqué est de récupérer les "caractéristiques" de chaque moniteur pour savoir quels +x+y passer à geometry... et çà dépend de l'environnement système (et vous avez des articles sur Internet qui mâchent bien le boulot).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 14
    Par défaut
    Merci wiztricks

    J'ai deux écrans. Si j'ai bien compris, le 1er écran ayant une résolution (largeur x hauteur), je dois utiliser geometry de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fenetre.geometry("largueur x hauteur+ décalage_x + décalage_y")
    décalage_x et décalage_y sont les coordonnées d'affichage de la fenêtre sur le 2eme écran.

    La question est de connaitre la résolution de chaque écran (?).

    En cherchant, j'ai trouvé ceci:

    J'ai installé screeninfo par : PIP install screeninfo.

    Lorsque je lance les instructions suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    from screeninfo import get_monitors
    for m in get_monitors():
        print(str(m))

    J'obtiens cela:

    Monitor(x=0, y=0, width=1920, height=1080, width_mm=344, height_mm=194, name='\\\\.\\DISPLAY1')
    Monitor(x=1920, y=0, width=1920, height=1080, width_mm=509, height_mm=286, name='\\\\.\\DISPLAY2')
    Apparemment je retrouve les résolutions de chaque moniteur.

    Cependant, comment puis-je récupérer les coordonnées dans ces chaines de caractères ?

    Merci d'avance de votre aide.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par foxvba Voir le message
    Apparemment je retrouve les résolutions de chaque moniteur.

    Cependant, comment puis-je récupérer les coordonnées dans ces chaines de caractères ?
    Déjà c'est pas super compliqué d'exploser la chaine pour en extraire les valeurs cherchées. Du split(), du replace()... n'importe quel dev Python sait faire ça. Mais surtout tu aurais un peu cherché au lieu de taper bêtement l'exemple du site sans aller plus loin tu aurais vu que get_monitors() récupère une liste d'objets et que chaque objet possède un attribut donnant directement l'info souhaitée => print(get_monitors()[0].height)
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre averti
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 14
    Par défaut
    Bonjour Sve@r,

    Merci beaucoup pour cet éclaircissement. Je suis débutant sur Python et je ne maitrise pas encore tout.

    Je ferai d'avantage attention la prochaine fois. Mais ta réponse m'a vraiment aidé.

    Encore merci

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 827
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par foxvba Voir le message
    Merci beaucoup pour cet éclaircissement. Je suis débutant sur Python et je ne maitrise pas encore tout.
    Ok, alors astuces: type() te donne le type d'un truc, et dir() te liste toutes les propriétés du truc. Ce seront tes outils les plus précieux pour explorer un objet
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    m=get_monitors()[0]
    print(m, type(m), dir(m))
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Membre averti
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 14
    Par défaut
    Super merci Sve@r, je note ça précieusement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème affichage sur firefox
    Par steph70 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 20/07/2010, 15h00
  2. Problème affichage sur plusieurs pages
    Par Tyra3l dans le forum Langage
    Réponses: 1
    Dernier message: 18/02/2010, 17h42
  3. Problème affichage sur design
    Par dj-master freeman dans le forum Langage
    Réponses: 2
    Dernier message: 27/11/2009, 13h55
  4. Comment forcer l'affichage sur le moniteur secondaire ?
    Par Kefass dans le forum API graphiques
    Réponses: 0
    Dernier message: 24/11/2007, 13h48
  5. Réponses: 10
    Dernier message: 04/05/2007, 09h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo