Chamando objetos Tkinter de outro arquivo
class SneakerGuide(tk.Frame): def __init__(self, parent, controller): tk.Frame.__init__(self, parent) global stockXURLInput stockXURLInput = Entry(sneakerBasicDetails) stockXURLInput.grid(row=5, column=1)
Então, eu tenho essa classe, e dentro dela, eu tenho essa função que é uma função de inicialização e com isso eu tenho um monte de coisas diferentes que quero .get () de. Eu apenas digitei um exemplo. Mas estou tentando obter a entrada de entrada fora dessa classe (na verdade, estou tentando obtê-la de outro arquivo, mas sei como importá-los e outras coisas. Como faria para fazer isso neste caso em particular
Respostas
Para objetos que deseja acessar fora da classe, você deve torná-los atributos de instância da classe.
Por exemplo, você não usaria globalcomo em seu exemplo. O uso de globalderrota amplamente o propósito de usar classes. Em vez disso, você faz assim:
class SneakerGuide(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.stockXURLInput = Entry(sneakerBasicDetails)
self.stockXURLInput.grid(row=5, column=1)
Para obter o valor da entrada, tudo o que você precisa é uma referência à instância da classe.
root = tk.Tk()
...
guide = SneakerGuide(root)
...
print(f"The url is {guide.stockXURLInput.get9)}")
Isso não é algo exclusivo do tkinter, é assim que todos os objetos Python funcionam.