tkinter でウィンドウのサイズが変更されたことを検出しようとすると、ほとんどの場合は機能します。ただし、例外が 1 つあります。つまり、最初に垂直方向にサイズ変更してウィンドウを大きくすると、何もピックアップされません。ウィンドウが表示されたときに初期サイズが表示されますが、ウィンドウをすぐに垂直方向に大きくしようとすると、その後何も表示されません。ただし、別の方法でサイズを変更した後 (つまり、小さくするか、水平方向にサイズ変更)、垂直方向に「高く」しようとすると、正常に機能します。
私が使用しているコードの要点は次のとおりです。
from Tkinter import *
main = Tk()
def resize(event):
print("The new dimensions are:",event.width,"x",event.height)
window.focus_set()
canvas = Canvas(main, width=850, height=400)
window = Frame(main, width=800, height=10)
window.focus_set()
canvas.bind("<Configure>", resize)
canvas.pack()
canvas.update()
window.pack()
main.mainloop()
私は何か間違ったことをしていますか?問題があれば、64 ビット Ubuntu 12.10 で Python 2.7.3 を使用しています。
編集:ウィンドウ サイズが を超えると、寸法が正しくない (水平方向の拡大) か、まったく表示されない (垂直方向の拡大) よう852x402
です。これは私のウィンドウ マネージャー (つまり、Unity) の問題ですか?