这是我的测试代码片段
from tkinter import *
master=Tk()
master.geometry('640x340')
Button(master,text='check').pack()
def new():
print('done')
from pywinauto import Desktop, Application
master.after(1000,new)
master.mainloop()
在整整一秒钟内,创建的 tkinter 窗口的大小就会减小,按钮也会发生同样的情况。这只是我在尝试构建的应用程序中跟踪此问题后编写的测试代码。有人可以告诉我为什么窗口大小会改变,以及我可以采取什么措施来防止这种情况发生?
我已经检查了所有我能查到的,官方文档只提到了一次 Tkinter,并且指的是 pywinauto 的后端,我认为它不相关。 此处,第 5 页。
此问题发生在 C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\pywinauto win32functions.py SetProcessDpiAwareness。
所以解决这个问题的方法是这样的:
import ctypes
ctypes.windll.shcore.SetProcessDpiAwareness(0)
from tkinter import *
master=Tk()
master.geometry('640x340')
Button(master,text='check').pack()
def new():
print('done')
from pywinauto import Desktop, Application
master.after(1000,new)
master.mainloop()