ボタンを含む親ウィジェットがあります。ボタンが押されたときに、左側に配置された親ウィジェットの真下にあるフチなし(つまり、Windows装飾ボタンなし)ウィンドウを開きたいと思います。ウィンドウの位置を設定する唯一の方法(と思われる)が使用していることに戸惑っていますが.geometry()
、さらに悪いことに、親ウィジェットの絶対座標を取得できないようです-必要なのは.geometry()
、親からのオフセットのみです親。これまでのところ、私のコードは次のとおりです。
# This is the child which appears when the button is pressed.
class ChildPopUpWindow(Frame):
def __init__(self, parentWgdt):
win = Toplevel(parentWgdt)
geom = str(parentWgdt.winfo_x()) + '+' + str(parentWgdt.winfo_y() + parentWgdt.winfo_height())
win.overrideredirect(1) # No win decoration.
win.bd = 10
win.relief = GROOVE
win.geometry( geom )
Frame.__init__(self, win)
# etc. etc.
# ... and this is the handler for the button being pressed.
def onDropDown(self):
popUp = ChildPopUpWindow(self)
これはウィンドウをポップアップしますが、親ウィジェットではなくデスクトップに関連しています。また、私が見る限り、境界線の太さとレリーフは考慮されていないようです。誰かがこれを行うことができる方法を提供できますか?行く方法は.geometry()
ありますか、それとももっと良い方法がありますか?