我正试着为我的大学计算机科学课做一个项目,这个项目是在学生学习期间选择课程的过程。
我用Checkbuttons
和Labels
来选择课程。你知道吗
不过,问题是我需要访问学生(通过Checkbuttons
)选择的课程(写在Labels
),以便设置一些限制。比如说,一学期只选两门实验课。你知道吗
课程不一定都选,也不能只选一门。 我的代码只用于检查课程,但无法获取它们。代码如下所示:
from Tkinter import *
class CreatingWindowForEachLesson:
selected = [] # lessons chosen
def __init__(self, root, d):
self.v = StringVar()
self.frame1 = Frame(root) # TITLE OF THE LESSON
self.frame1.pack(side=LEFT, anchor="nw")
self.frame3 = Frame(root) # for the CHECKBUTTONS
self.frame3.pack(side=LEFT, anchor="nw")
self.d = d
for i in self.d:
self.w1 = Label(self.frame1, text=str(i))
self.w1.grid()
self.w1.config()
self.w3 = Checkbutton(self.frame3, text="Choose")
self.w3.pack()
self.w3.config()
def SelectedLessons(self):
if CreatingWindowForEachLesson.check == 0:
print "NONE CHOSEN!"
else:
pass
root = Tk()
tpA7 = [........]
myLesson = CreatingWindowForEachLesson(root, tpA7)
root.mainloop()
在这种情况下,你甚至不需要标签。Check按钮有一个名为
text
的属性,它表示Check按钮旁边的文本。你知道吗例如,您可以有一个
Button
,允许学生单击ok。当用户单击“确定”时,您可以检查当前检查了多少个检查按钮,如果学生至少没有检查2个科目(例如),则最终会显示错误或警告消息。你知道吗您可以使用
IntVar
变量来检查Checkbuttons
是否被选中。你知道吗如果您不想让这个主题选择器成为主窗口,您可以从^{} 小部件派生类。你知道吗
我将试着举一个具体的例子,以便你们能更清楚地了解我在说什么。你知道吗
我使用了两个帧,一个用于重新组合复选按钮,一个用于按钮
Confirm
。我直接将标签Choose your school subjects
打包到self
,它派生自Toplevel
。如果您不了解传递给pack
和grid
方法的选项,您可以忽略它们,这对程序的逻辑并不重要。如果你不明白什么,尽管问。你知道吗
相关问题 更多 >
编程相关推荐