Python PyQt5を使用してアプリケーション(ウィンドウ)のアクティブな画面(モニター)を確認する方法
多くのウィジェット(QGroupBox、QVBoxLayout、QHBoxLayout)を使用しているアプリケーションで作業しています。当初は通常のHDモニターで開発されました。しかし、最近私たちの多くは4K解像度のモニターにアップグレードしました。現在、一部のボタンとスライダーは非常に小さく圧縮されているため、使用できません。 ここで、アプリケーションをHDモニターと4Kモニターの両方で使用できるように、いくつかの変更を加えようとしました。 私は以下のリンクを読み始めました: https://leomoon.com/journal/python/high-dpi-scaling-in-pyqt5/ ここにリンクの説明を入力 ウィンドウが特定のモニターで開かれているときはいつでも、次のコードを呼び出すことができると思いました。 if pixel_x > 1920 and pixel_y > 1080: Qapp.setAttribute(Qt.AA_EnableHighDpiScaling, True) Qapp.setAttribute(Qt.AA_UseHighDpiPixmaps, True) else: Qapp.setAttribute(Qt.AA_EnableHighDpiScaling, False) Qapp.setAttribute(Qt.AA_UseHighDpiPixmaps, False) 次に、以下のコードを使用して、ここの関連する投稿を使用して、モニターの解像度(pixel_xおよびpixel_y)を取得しようとしました。 import sys, ctypes user32 = ctypes.windll.user32 user32.SetProcessDPIAware() screen_width = 0 #78 screen_height = 1 #79 [pixel_x , pixel_y ] = [user32.GetSystemMetrics(screen_width), user32.GetSystemMetrics(screen_height)] screen_width = 0, screen_height …