私は、アクティビティの開始時間と終了時間を取る関数を持っています。開始時刻が終了時刻の後に始まるかどうかを知らせるメッセージボックスがポップアップしたいと思います(たとえば、18.00から始まり15.00で終了)。私は、メッセージボックスが間違っていることを伝え、それらを機能の始めに戻すのに完璧であると判断しました。押されたときに2つの変数を呼び出すTkinterボタン?
ボタンを押すと、2つのコマンドが呼び出されます。 1つは機能の始めに戻り、もう1つはメッセージボックスを破壊しますか?
def addtimeslot():
hour1 = variable_st.get()
starttimehour = str(datetime.time(hour1,minute,second))
hour2 = variable_end.get()
endtimehour = str(datetime.time(hour2,minute,second))
if starttimehour >= endtimehour:
print("WRONG")
win = Toplevel()
win.title('invalid input')
message = "You have selected invalid input. Please try again"
Label(win, text = message).pack()
button = Button(win, text = 'ok', command = addtimeslot AND win.destroy).pack
else:
continue code
「AND」は、私が好きなことを示すだけではありません。
btn_add_final = ttk.Button(window1, text = "Add timeslot",width = 15, command = addtimeslot)
btn_add_final.place(x =300,y=275)
機能を呼び出すボタンを表示するように更新されました。
を。これをしないでください! – CommonSense
私はあなたが '()'を最後の最後に忘れたと思っています。また、 'button = Button(...)。pack()なら' None'になります。これはパックが返すものですから。パックを2行目で行います。 – kabanus
@kabanus改行時に 'pack()'と同時に、ボタンの位置はフレーム内で問題の範囲ではありません。 – pstatix