Я создал namedtuple, подобный этому.
Named_Tuple_1 = namedtuple("Coordinates", ["x", "y", "z"], verbose=False, rename=False)
Point_1 = Named_Tuple_1(x=1, y=1, z=1)
Point_2 = Named_Tuple_1(x=2, y=2, z=2)
Point_3 = Named_Tuple_1(x=3, y=3, z=3)
Я могу легко получить доступ к таким значениям.
Point_2.x
Но когда я пытаюсь получить Point_2 из поля ввода, я получаю эту ошибку.
AttributeError: 'str' object has no attribute 'x'
Итак, я узнал, что поля ввода возвращают строковые значения.
Как я могу получить значение namedtuple из строки?
String_1 = "Point_2"
String_1 ???
Спасибо.
Извините за путаницу. Надеюсь, это более понятно.
Итак, здесь я решил добавить Point_1.x с Point_2.x и добавить итог в свой диалог в качестве метки.
Named_Tuple_1 = namedtuple("Coordinates", ["x", "y", "z"], verbose=False, rename=False)
Point_1 = Named_Tuple_1(x=1, y=2, z=3)
Point_2 = Named_Tuple_1(x=4, y=5, z=6)
Point_3 = Named_Tuple_1(x=7, y=8, z=9)
def ADD_x_1():
Sum_of_x = Point_1.x + Point_2.x
My_Label_1 = Label(Dialog, text=Sum_of_x)
My_Label_1.pack()
Dialog = Tk()
My_Button_1 = Button(Dialog, text="Add x Value", command=ADD_x_1)
My_Button_1.pack()
Dialog.mainloop()
Теперь я хочу сделать то же самое, но чтобы пользователь сам решал, какую точку добавить.
def ADD_x_2():
First_Point_x = My_Entry_1.get().x
Second_Point_x = My_Entry_2.get().x
Sum_of_x = First_Point_x + Second_Point_x
My_Label_3 = Label(Dialog, text=Sum_of_x)
My_Label_3.pack()
Dialog = Tk()
My_Label_1 = Label(Dialog, text="Select first point")
My_Label_1.pack()
My_Entry_1 = Entry(Dialog, bd=2, width=10)
My_Entry_1.pack()
My_Label_2 = Label(Dialog, text="Select second point")
My_Label_2.pack()
My_Entry_2 = Entry(Dialog, bd=2, width=10)
My_Entry_2.pack()
My_Button_2 = Button(Dialog, text="Add x Value", command=ADD_x_2)
My_Button_2.pack()
Dialog.mainloop()
Моя проблема в том, что My_Entry_1.get() и My_Entry_2.get() являются строками. И я получаю сообщение об ошибке AttributeError: объект 'str' не имеет атрибута 'x'.
Итак, мой вопрос заключался в том, как я могу взять строку из My_Entry_1 и My_Entry_2 для доступа к значениям x?
Еще раз извините за путаницу.
Спасибо.