У меня есть простая программа Tkinter на Python, которая переводит футы в метры. Он имеет метку, поле для ввода ног, поле «Метры» с утопленной границей, а затем 3 кнопки: «Выход», «Скрытый» и «Обмен».
Я просто пытаюсь понять, как заставить кнопку Swap делать именно это. Поменяйте местами футы и метры в окне, чтобы вы могли ввести х метров, и он будет конвертирован в футы (после нажатия кнопки «Преобразовать»).
В самом деле, все, что мне нужно, это как поменять позиции (математическая часть достаточно проста), но я просто не могу думать о том, как логика будет работать для этого. Вот что у меня есть:
import Tkinter
win = Tkinter.Tk()
win.title('Converter')
Row1 =Tkinter.Frame(win)
blank = Tkinter.Label(Row1, text=' ', font=('Courier New', 30))
blank.pack()
Row1.pack()
label = Tkinter.Label(win, text='Convert Between Feet and Meters', font=('Courier
New',30,"bold"))
label.pack()
def convert():
st = entry1.get()
v = eval(st)
if type(v) != type('Hello'):
answer.config(text=str(v*.3048))
def swap():
#here's where I need to figure out how to swap
Row2 = Tkinter.Frame(win)
fLabel = Tkinter.Label(Row2, text='Feet', justify='right', font=('Courier New', 30))
entry1 = Tkinter.Entry(Row2, width = 12, font=('Courier New', 30))
fLabel.pack(side='left')
entry1.pack(side='right')
Row2.pack()
Row3 = Tkinter.Frame(win)
mLabel = Tkinter.Label(Row3, text='Meters', justify='right', font=('Courier New',30))
answer = Tkinter.Label(Row3, text='0', width=12, relief='sunken', font=('Courier New',
30))
mLabel.pack(side='left')
answer.pack(side='left')
Row3.pack()
Row4 = Tkinter.Frame(win)
quit = Tkinter.Button(Row4, text='Quit', command = win.destroy, font=('Courier
New',30))
convert = Tkinter.Button(Row4, text='Convert', command = convert, font=('Courier
New',30))
swap = Tkinter.Button(Row4, text='Swap', command=swap, font=('Courier New',30))
quit.pack(side='left')
convert.pack(side='left')
swap.pack(side='right')
Row4.pack()
Row5 = Tkinter.Frame(win)
blank2 = Tkinter.Label(Row5, text=' ', font=('Courier New', 30))
blank2.pack()
Row5.pack()
win.mainloop()
(первый и последний кадры - просто пробел) Заранее спасибо за любую помощь!