Kann man die Anzahl der angeschlossenen UND eingeschalteten Monitore ermitteln?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
opus
User
Beiträge: 25
Registriert: Freitag 28. Oktober 2022, 19:47

Ich versuche die Anzahl der eingeschalteten Monitore zu ermitteln und danach unterschiedliche Routinen anzuwenden..
Die Nutzung von

Code: Alles auswählen

screeninfo.get_monitors()
erschien mir dafür ausreichend, da für 2 angeschlossenen Monitoren sowohl Anzahl als auch Auflösung mit folgendem Code ausgegeben wird.

Code: Alles auswählen

 monitors = get_monitors()
    for monitor in range(0, len(monitors)):
        print("Monitor" , monitor, " Width: =",monitors[monitor].width)
        print("Monitor" , monitor, " Height: =", monitors[monitor].height)
    if (len(monitors)>1):
Leider ergibt sich damit die gleiche Ausgabe für 2 angeschlossene Monitore sofern nur einer eingeschaltet ist als auch wenn beide eingeschaltet sind.
Beide Monitore sind per HDMI an einen Raspi 5 angeschlossen.

Gibt es überhaupt eine Methode die nur eingeschalteten Monitore zu ermitteln?
Sirius3
User
Beiträge: 18034
Registriert: Sonntag 21. Oktober 2012, 17:20

Über einen Index iteriert man nicht:

Code: Alles auswählen

for monitor in monitors:
    print(f"Monitor: {monitor.name} Width: {monitor.width} Height: {monitor.height})
Aber um zu erfahren, ob ein Monitor angeschaltet ist, reicht es nicht, zu prüfen, ob es einen HDMI-Anschluß gibt. Dazu muß man den Monitor direkt fragen, eventuell geht das mit https://www.ddcutil.com/detect_verbose_output/
opus
User
Beiträge: 25
Registriert: Freitag 28. Oktober 2022, 19:47

Danke für die Antwort.
Zum Thema "Index iterieren": Da musste ich über mich selber lachen ( oder besser mich schämen).

Der Link erscheint mir etwas sehr aufwendig. Da werde ich wohl das HDMI-Kabel lieber abziehen bzw. einstecken.
Antworten