0

現在、tkinter GUI インスタンスを起動する python スクリプトがあり、ボタンをクリックするとスクリーンショットが撮られます。

このスクリプトを python.exe で実行すると、tkinter の解像度は問題なく、スクリーンショットは画面全体をキャプチャします。ただし、pythonw.exe を使用すると、tkinter ウィンドウの解像度が変更され (ボタンが大きくなるなど)、スクリーンショットは画面の一部 (通常は左上隅) のみをキャプチャします。

コンソール ウィンドウが表示されないようにするには、pythonw.exe を使用する必要があります。

tkinter ウィンドウの解像度とスクリーンショットのキャプチャが影響を受ける理由を知っている人はいますか? おそらく解像度への影響が、スクリーンショットのキャプチャも削減されている理由です。

私はPythonにかなり慣れていないので、これに関する助けがあれば大歓迎です。以下は、tkinterウィンドウとスクリーンショット機能のコードのスニペットです。繰り返しますが、この機能は python.exe の下で完全に正常に動作します。

ImageGrab を使用したスクリーンショット機能:

    callback1():
         ImageGrab.grab_to_file('test.png')

tkinter ウィンドウ:

    master = Tk()  
    master.wm_attributes("-topmost", 1)
    master.title("Report")
    master.configure(background='white')
    master.iconbitmap(default='icon.ico')
    master.resizable(0, 0)
    frame1 = Frame(master, bg='white')
    frame1.pack(side=BOTTOM, fill=X)
    button1 = Button(frame1, compound=BOTTOM, width=307, height=82,
    image=photo1, bg='white', command=callback1)
    button1.pack(side=TOP, padx=2, pady=8)
4

1 に答える 1