2013-07-03 119 views
0

我能夠從一個按鈕打開框架。我可以關閉框架並從同一個按鈕重新打開它,但每次按下按鈕時都會報錯。打開和關閉一個框架

什麼是引發錯誤在我的代碼是root.Show(),它給了我一個AttributeError Show錯誤

我的問題是,雖然它正在漂亮,可以把它開發我的應用程序的嚴重問題?

編輯:這是我的Python文件

from Tkinter import * 

root = Tk() 
root.title("Help") 

scrollbar = Scrollbar(root) 
scrollbar.pack(side=RIGHT, fill=Y) 

help_message = 'This is the help menu. Please scroll through the menu to find the answer to your question' 

txt = Text(root, wrap=WORD) # wrap=CHAR, wrap=NONE 
txt.pack(expand=1, fill=BOTH) 
txt.insert(END, help_message) 

txt.config(yscrollcommand=scrollbar.set, state=DISABLED) 
scrollbar.config(command=txt.yview) 

root.Show() 

正是從這個程序的最後一行採取錯誤的代碼。這是在命令提示符處錯誤: Error description

+0

您能否同時顯示您的代碼和'AttributeError'全文? –

+0

您能否發佈您的應用程序的相關部分,您是否也可以告訴我們您使用的是什麼框架......可能是Tkinter? – John

回答

0

我刪除了root.Show(),添加了一個必須單擊的按鈕,以便窗口保持隱藏狀態但正在運行。然後,我在主文件HelpBox.root.deiconify()中添加了這個功能,使屏幕彈出。如果用戶確實點擊了「X」按鈕,則在重新啓動應用程序之前無法重新打開幫助菜單。

感謝大家的幫助和想法

1

你可能只是想利用root.mainloop(),因爲我沒有看到任何地方的方法顯示或顯示(Python是大小寫敏感的,和方法/函數通常lower_case_with_underscores) 。

mainloop函數本質上等待程序結束,但如果你有像按鈕這樣的東西,你可以讓Tkinter調用某個函數來響應(事件驅動)。

+0

不起作用。關閉彈出窗口後,我按下按鈕,沒有任何反應。有沒有辦法查看用戶是否按下「x」按鈕? –