python - Python:如何从另一个类调用一个类
问题描述
我目前正在使用 Tkinter 开发一个 python GUI 项目。我有 2 个单独的类“经理”和“添加工作”。addWork 类应该返回选中的单选按钮和条目中的文本。如果我从主类而不是管理类调用该类,它工作得非常好。但是,如果我从管理器类调用它,它只返回文本而不是选择的单选按钮。我的代码有问题吗?请帮忙。
#!/usr/bin/python3
from tkinter import *
#import json
class manager:
def __init__(self):
self.win = Tk()
self.win.title("Work Manager")
self.ui()
self.activate()
def ui(self):
self.editBtn = Button(self.win, text="Edit", width=6)
self.addBtn = Button(self.win, text="Add", command=self.launchAddTask)
self.delBtn = Button(self.win, text="Del")
self.impLbl = Label(self.win, text="Important")
self.inProgressLbl = Label(self.win, text="|In Prgress")
self.subLbl = Label(self.win, text="|Subject")
# ============================================================================================
self.editBtn.grid(row=0, column=0)
self.addBtn.grid(row=0, column=8)
self.delBtn.grid(row=0, column=9)
self.impLbl.grid(row=1, column=0)
self.inProgressLbl.grid(row=1, column=1)
self.subLbl.grid(row=1, column=2, columnspan=2)
def launchAddTask(self):
addtask = addWork()
def activate(self):
self.win.mainloop()
class addWork:
def __init__(self):
self.add = Tk()
self.add.title("Add Tasks")
self.selectedSub = StringVar()
self.selectedSub.set("Not set")
self.subjects = ["Mathematics", "Physics", "Biology", "Chemistry", "Social Science", "Kannada", "English"]
self.ui()
self.activate()
def ui(self):
for (sub, i) in zip(self.subjects, range(7)):
Radiobutton(self.add, text=sub, variable=self.selectedSub, value=sub, anchor=W, width=13).grid(row=i, column=0)
print(sub)
self.taskLbl = Label(self.add, text="Task:", anchor=W)
self.task = Entry(self.add, width=20)
self.task.bind('<Return>', self.submit)
# ============================================================================================
self.taskLbl.grid(row=7, column=0)
self.task.grid(row=7, column=1, rowspan=2)
def submit(self, event):
subject = self.selectedSub.get()
task = self.task.get()
print(subject, ":", task)
self.add.destroy()
def activate(self):
self.add.mainloop()
workManager = manager()