私は学校でそれを実装しようとする投票システムを行っています。
したがって、プログラムは次のようになります。
まだ実装されていない機能は、投票する学生の数に応じていくつかのパスワードを生成します。
メイン ウィンドウにすべての候補が表示されます。
ボタンをクリックすると、パスワードの入力を求めるポップアップ ウィンドウ (トップレベル) が表示されます。
パスワードが正しければ、別のウィンドウ (別のトップレベル、ここに問題があります) がポップアップして、候補を選択するためにクリックするだけでよいボタンがいくつか表示されます。
完了するまで繰り返します
元のリンク: http://pastebin.com/579ybmPD
コード
from Tkinter import *
import tkMessageBox
class app(object):
def __init__(self, parent):
self.availableCodes = [1,2, 3, 4, 5]
top = self.top = Toplevel(parent)
self.label1 = Label(top, text = "Ingrese su contrasena")
self.label1.pack()
self.entry1 = Entry(top)
self.entry1.pack()
self.button1 = Button(top, text = "Ingrese", command = self.ok)
self.button1.pack(pady= 5)
self.button1val = 0
self.button2val = 0
self.button3val = 0
self.button4val = 0
self.button5val = 0
self.button6val = 0
self.button7val = 0
self.button8val = 0
self.button9val = 0
self.button10val = 0
self.button11val = 0
self.button12val = 0
def ok(self):
self.code = int(self.entry1.get())
self.voteWindow(self.code, self.availableCodes)
self.top.destroy()
def voteWindow(self, code, listOfCodes):
if code in listOfCodes:
print "True"
self.optionsWindows(self.top)
listOfCodes.remove(code)
else:
print "False"
def optionsWindows(self, parent):
new = self.new = Toplevel(parent)
self.topframe = Frame(new)
self.button1 = Button(self.topFrame, text = "Proyecto 1", command = self.close(self.button1val))#( self.button1val))
self.button1.pack(side = LEFT)
self.button2 = Button(self.topFrame, text = "Proyecto 2", command = self.close(self.button2val))#(options, self.button2val))
self.button2.pack(side = LEFT)
self.button3 = Button(self.topFrame, text = "Proyecto 3", command = self.close(self.button3val))#(options, self.button3val))
self.button3.pack(side = LEFT)
self.button4 = Button(self.topFrame, text = "Proyecto 4", command = self.close(self.button4val))#(options, self.button4val))
self.button4.pack(side = LEFT)
self.button5 = Button(self.topFrame, text = "Proyecto 5", command = self.close(self.button5val))#(options, self.button5val))
self.button5.pack(side = LEFT)
self.button6 = Button(self.topFrame, text = "Proyecto 6", command = self.close(self.button6val))#(options, self.button6val))
self.button6.pack(side = LEFT)
self.button7 = Button(self.topFrame, text = "Proyecto 7", command = self.close(self.button7val))#(options, self.button7val))
self.button7.pack(side = LEFT)
self.button8 = Button(self.topFrame, text = "Proyecto 8", command = self.close(self.button8val))#(options, self.button8val))
self.button8.pack(side = LEFT)
self.button9 = Button(self.topFrame, text = "Proyecto 9", command = self.close(self.button9val))#(options, self.button9val))
self.button9.pack(side = LEFT)
self.button10 = Button(self.topFrame, text = "Proyecto 10", command = self.close(self.button10val))#(options, self.button10val))
self.button10.pack(side = LEFT)
self.button11 = Button(self.topFrame, text = "Proyecto 11", command = self.close(self.button11val))#(options, self.button11val))
self.button11.pack(side = LEFT)
self.button12 = Button(self.topFrame, text = "Proyecto 12", command = self.close(self.button12val))#(options, self.button12val))
self.button12.pack(side = LEFT)
def close(self, variable):
variable +=1
self.top.destroy()
def onClick():
run = app(root)
root.wait_window(run.top)
root = Tk()
root.configure(bg = "white")
mainButton = Button(root, text='Click aqui para votar', command=onClick)
mainButton.pack()
root.mainloop()
したがって、問題は、最後のトップレベル ウィンドウが新しいポップアップに表示されるのではなく、メイン ウィンドウに表示されることです。これを機能させると、オプションが正しく表示されませんでした。助けてください。