2013-05-01 59 views
0

我在python tkinter中创建了一个双窗格的窗格。它会打开它自己的罚款,但在一个if语句不再打开Tkinter panedwindow没有打开

首先,我只是自己的panedwindow的代码,但我想在另一段代码中使用它。它不会在if语句中工作,它似乎被忽略。我哪里错了?

from tkinter import * 
import time 

ticketCost=6 
username="Rob" 

code = input("Enter code: ") 
if code == "123": 
    year=str(time.localtime()[0]) 
    month=str(time.localtime()[1]) 
    day=str(time.localtime()[2]) 
    hour=str(time.localtime()[3]) 
    minute=str(time.localtime()[4]) 
    ticketTime=str(hour+":"+minute) 
    ticketDate=str(day+"/"+month+"/"+year) 
    ticketInfo="Bus ticket\nSingle\nDate: "+ticketDate+"\nTime: "+ticketTime+"\nPassengers: "+ 
    ...str(int(ticketCost/3))+"\nPrice: "+str(ticketCost)+" credits" 
    ticketWindow = PanedWindow(orient=VERTICAL,bg="white") 
    ticketWindow.pack(fill=BOTH, expand=1) 
    top = Label(ticketWindow, text="top pane") 
    photo = PhotoImage(file='Coach 1.gif') 
    top.config(image=photo,bg="white") 
    top.image = photo 
    ticketWindow.add(top) 
    bottom = Label(ticketWindow, text="bottom pane") 
    bottom.config(text=ticketInfo) 
    bottom.config(bg="white") 
    ticketWindow.add(bottom) 
    print("\nThank you", username) 
else: 
    print("no") 
+1

FWIW - 'year,month,day,hour,minute = map(str,time.localtime()[:5])'我认为应该可以工作 – mgilson 2013-05-01 12:54:54

+0

我的问题是panedwindow无法打开 – user2339371 2013-05-01 13:09:10

+0

对不起,不要说这会导致你的程序工作。只需清理一下。我假设你确定你在'if'语句中选择了正确的分支,但事情仍然没有显示出来? – mgilson 2013-05-01 13:11:41

回答

0

您似乎没有创建根窗口,也没有启动事件循环。

+0

我对python很新,这是什么意思? – user2339371 2013-05-01 13:27:14

+0

这意味着你必须首先创建一个'Tk'类的实例,然后你必须调用该实例的'mainloop'方法作为程序的最后一行。例如:http://www.pythonware.com/library/tkinter/introduction/hello-tkinter.htm – 2013-05-01 13:46:51