Возвращаем значение из текстовой записи в другой класс - PullRequest
0 голосов
/ 03 июня 2019

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

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

from tkinter import *


class gui_cls:
    def __init__(self,*args):
        self.master=args[0]
        self.delete = StringVar()
        self.insert = StringVar()
        self.var1 = IntVar()
        self.var3 = IntVar()


    def vergui(self):
        Delete = self.delete.get()
        insertversions = self.insert.get()
        prog = self.var1.get()
        print(Delete)
        print(insertversions)
        if prog:
            print("levels")
        else:
            pass

        label_0 = Label(self.master, text="Adaptive", width=20, font=("bold", 20))
        label_0.place(x=40, y=53)

        label_1 = Label(self.master, text="Delete Versions", width=20, font=("bold", 10))
        label_1.place(x=30, y=130)
        entry_1 = Entry(root, textvar=self.delete)
        entry_1.place(x=200, y=130)

        label_2 = Label(self.master, text="Insert Versions", width=20, font=("bold", 10))
        label_2.place(x=30, y=180)
        entry_2 = Entry(self.master, textvar=self.insert)
        entry_2.place(x=200, y=180)



        label_3 = Label(self.master, text="Reload", width=20, font=("bold", 10))
        label_3.place(x=30, y=230)
        var2 = IntVar()
        Checkbutton(self.master, text="Levels", padx=5, variable=self.var1).place(x=190, y=230)
        Checkbutton(self.master, text="Accounts", padx=20, variable=var2).place(x=250, y=230)

        label_4 = Label(self.master, text="Note: Please seperate versions by comma(,)", fg='red', font=("bold", 13)).place(x=30, y=280)
        Button(self.master, text='Finish', width=20, bg='brown', fg='white', command=self.vergui).place(x=200, y=350)


root = Tk()
root.geometry('400x400')
root.title("Adaptive")
gui_cls(root).vergui()
root.mainloop()

1 Ответ

1 голос
/ 03 июня 2019

Текущий вы создали экземпляр класса на лету.Сначала вы можете определить переменную для экземпляра класса, а затем вызвать методы отдельно:

#gui_cls(root).vergui()
gui = gui_cls(root)
gui.vergui()

Затем вы можете получить доступ к атрибутам класса в любое время.

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