TKINTER, изменяющий размер сбоев с помощью Bind

Я пытаюсь создать кнопку, которая изменит размер моего окна tkinter (так же, как выемки на краю окна обычно изменяют размер). Однако, когда я использую кнопку изменения размера, окно пропускает и глючит и не отражает действия выемки сбоку окна. В моем примере при изменении размера с помощью кнопки текст внутри рамки дергается и не является гладким. Однако, когда я использую выемку в правой части окна для изменения размера окна, оно плавно изменяется без каких-либо сбоев в кадре.

Как я могу исправить сбой при использовании кнопки изменения размера.

(Это минимальный код, и в гораздо большем проекте есть метод для моего безумия)!

Большое спасибо. Макс.


import tkinter as tk

def resize(self, event=None):

    y=root.winfo_height()

    x1 = root.winfo_pointerx()
    x0 = root.winfo_rootx()

    root.geometry("%sx%s" % (x1-x0,y))

root=tk.Tk()

innerFrame=tk.Frame(root)

h=tk.Text(innerFrame)
h.insert('end','Hello')
h.pack()


g=tk.Button(root,text='Drag to resize')

g.bind('<B1-Motion>',resize)
g.pack()

innerFrame.pack()


person Maks Ovnik    schedule 18.11.2019    source источник
comment
Я только что попробовал этот пример, и для меня он отлично работает, все, что мне нужно было добавить, это root.mainloop() в конце. Он ведет себя точно так же, как когда я использую выемку сбоку   -  person LeoE    schedule 18.11.2019
comment
Привет, спасибо за комментарий. Если вы очень быстро измените размер с помощью кнопки. У меня все равно содержимое текстового виджета в некоторых моментах не видно. Текстовый виджет почти исчезает при использовании кнопки, однако при использовании выемки сбоку, как бы быстро я ни изменял размер окна. Содержимое фрейма ВСЕГДА видно. Это то, что вы испытываете?   -  person Maks Ovnik    schedule 18.11.2019
comment
Нет, проблем с изменением размера кнопки не испытываю. Никогда не исчезает, содержимое всегда видно. Вы пробовали это на этом минимальном примере? Если не попробовать, если он работает нормально, проблема где-то еще в вашем коде;)   -  person LeoE    schedule 18.11.2019
comment
Странно, сейчас я запускаю тот же самый пример, и содержимое исчезает. Если я вызываю root.update для начала функции изменения размера, проблема устраняется, однако затем я получаю RecursionError: максимальная глубина рекурсии превышена при вызове объекта Python. :С   -  person Maks Ovnik    schedule 18.11.2019
comment
Пробовал с python2 и python3, и ни с одним из них проблем нет, извините, я не смогу вам помочь...   -  person LeoE    schedule 18.11.2019
comment
Спасибо за попытку! Так разочаровывает. это не слишком большая проблема в примере с минимальным кодом, но в моем проекте эта проблема создает что-то довольно уродливое при изменении размера ha. prnt.sc/pymzym   -  person Maks Ovnik    schedule 18.11.2019
comment
У меня были проблемы с изменением размера, в моем случае это была проблема с параметром цвета, что было очень странно. Возможно, у вас есть похожие проблемы, взгляните на эту ссылку Почему tkinter не бросает/ создать исключение?   -  person Module_art    schedule 19.11.2019