Я новый им Python, только начал изучать класс и tkinter, так что простите мне «грязный» код. Я пытаюсь ввести некоторую строку в поле NR1, и после того, как нажать на кнопку, распечатайте эту строку в консоли и сохранить это значение для последующего использования:python pass variable tkinter
from tkinter import Tk, BOTH, RIGHT, RAISED, BOTTOM, TOP, X, StringVar
from tkinter.ttk import Frame, Button, Entry
class AD(Frame):
def __init__(self, parent):
Frame.__init__(self, parent, v=None, raw_input=None)
self.parent = parent
self.parent.geometry("250x150+300+300")
self.parent.title("Trolollo")
self.parent.resizable(False, False)
self.inp = None
self.v = StringVar()
self.raw_input = None
self.initUI()
def user_input(self):
global inp
a = self.raw_input(self.v.get())
inp = a
return inp
def initUI(self):
self.pack(fill=BOTH, expand=True)
frame = Frame(self, relief=RAISED, borderwidth=0)
frame.pack(fill=BOTH, expand=True)
self.entry1 = Entry(frame, textvariable=self.v)
self.entry1.pack(side=TOP, fill=X, expand=False, padx=2, pady=2)
self.entry1.focus_set()
rename_button = Button(frame, text="Dispaly text", command = self.user_input())
rename_button.pack(side=TOP, expand=False, padx=2, pady=2)
entry2 = Entry(frame)
entry2.pack(side=TOP, fill=X, expand=False, padx=2, pady=2)
quit_button = Button(self, text="Quit", command=self.quit)
quit_button.pack(side=RIGHT, padx=5, pady=5)
ok_button = Button(self, text="OK")
ok_button.pack(side=RIGHT, padx=5, pady=5)
def main():
root = Tk()
app = AD(root)
root.mainloop()
if __name__ == '__main__':
main()
После выполнения кода, я получаю: TypeError: «NoneType 'объект не вызываемая
Любая помощь будет мне оценили
Короче говоря, 'command = self.user_input()' удаляет скобки. – Lafexlos
'raw_input' -' None', и вы пытаетесь вызвать его, используя скобки в строке 'a = self.'. Не знаю, чего вы пытаетесь достичь. – Lafexlos
Используете ли вы python 2 или 3? Вы вызываете 'raw_input()', который является python 2, но вы импортируете 'tkinter', а не' Tkinter', что подразумевает python 3. Затем вы отметили вопрос python-3.5 – tburrows13