Снимок экрана определенного виджета в tkinterPython

Программы на Python
Ответить
Anonymous
 Снимок экрана определенного виджета в tkinter

Сообщение Anonymous »

Есть ли более точный способ сделать снимок экрана, как у конкретного виджета tkinter, помимо простого вычисления его координат, потому что иногда он делает снимок экрана за пределами самого окна.
Вот мой код:
def screenshotWidget(widgetID, root):
"""
Grabs the widgets locating and size,
then screenshots it.
"""
date = datetime.datetime.now()
time = date.strftime("%Y%m%d%H%M%S")

root.update_idletasks()
root.update()

x0 = widgetID.winfo_rootx()
y0 = widgetID.winfo_rooty()
x1 = x0 + widgetID.winfo_width()
y1 = y0 + widgetID.winfo_height()

Img = ImageGrab.grab(bbox=(x0, y0, x1, y1))
Img.save(f"screenshots/screenshot{time}.png")
Img.show()
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»