Вернуть ссылку на управляющую переменную Tkinter - PullRequest
0 голосов
/ 23 октября 2019

Я не опытный программист, поэтому заранее прошу прощения, если я задаю основной вопрос. Я использую цикл for для печати записей tkinter и пытаюсь вернуть ссылку этих записей на вызывающую функцию. Но когда я пытаюсь набрать текст в записи, он всегда возвращает пустую строку? Поэтому мой вопрос заключается в том, можно ли вернуть ссылку на переменную управления в Python? или я использую неправильный подход?

    def data_entry_txtfield(self,rn,cn,pu,pd):
        # Creates the Entry to enter data - rn is the row and cn is column 
        # pd and pu are padding up and padding down
        entry = tk.StringVar()
        tk.Entry(self.inputlab,width=32,bg=entrycolor,textvariable=entry)
        entry.grid(column=cn,row=rn,pady=(pu,pd))
        return entry



    tbtlocationentry = self.data_entry_txtfield(9,4,0,12)
    text = tbtlocationentry.get()
    print(text)`

1 Ответ

0 голосов
/ 23 октября 2019

В этом коде много ошибок, например, в нижней строке вы используете self.data_entry_txtfield для вызова функции, но вы не нуждаетесь в self. если вы используете в классе. Также запись должна иметь имя переменной, чтобы иметь возможность что-то менять внутри нее. Я исправил некоторые ошибки, и вот код

def data_entry_txtfield(self,rn,cn,pu,pd):
        # Creates the Entry to enter data - rn is the row and cn is column 
        # pd and pu are padding up and padding down
        entry = tk.StringVar()
        ety = tk.Entry(self.inputlab,width=32,bg=entrycolor,textvariable=entry)
        ety.grid(column=cn,row=rn,pady=(pu,pd))
        return entry



    tbtlocationentry = self.data_entry_txtfield(9,4,0,12)
    text = tbtlocationentry.get()
    print(text)

Я оставил в себе. потому что я предполагаю, что вы используете это внутри класса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...