[英]Python script tkinter resolution and screenshot size effected when running pythonw.exe
我目前有一個python腳本,可啟動tkinter GUI實例,並帶有一個按鈕,單擊該按鈕即可截取屏幕截圖。
當我在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)
我現在已經解決了這個問題。 似乎與Windows中pythonw.exe
的兼容性設置有關。 更改以下內容可以修復圖像捕獲,也可以修復tkinter窗口分辨率:
c:/python27/
) python.exe
並選擇屬性 歸功於這篇文章:
Python Imaging Library無法捕獲整個屏幕
希望這可以幫助遇到相同問題的人。 它確實引起了關於如何自動完成此操作的問題,因為對於python應用程序的用戶來說,他們不得不更改這些設置並不友好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.