'_tkinter.tkapp' object has no attribute 'show'
时间: 2023-09-26 11:12:02 浏览: 89
这个错误通常是因为在 Tkinter 应用程序中尝试使用过时的方法或属性导致的。可能是因为你在使用老版本的 Python 或 Tkinter 库。你可以尝试更新你的 Python 和 Tkinter 库,或者检查你的代码是否使用了过时的方法或属性。如果你能提供更多的上下文信息,我可以更好地帮助你解决这个问题。
相关问题
AttributeError: '_tkinter.tkapp' object has no attribute 'show_login_page'報這個
这个错误是因为在 `MainWindow` 类中,找不到名为 `show_login_page` 的方法。您可以将 `show_login_page` 方法添加到 `MainWindow` 类中来解决这个问题。以下是修正后的代码示例:
```python
import tkinter as tk
from login import LoginPage
from query import QueryPage
from input import InputPage
class MainWindow(tk.Tk):
def __init__(self):
super().__init__()
self.title("GUI窗口")
# 创建登录界面实例
self.login_page = LoginPage(self)
self.login_page.pack()
# 创建查询界面实例
self.query_page = QueryPage(self)
# 创建录入界面实例
self.input_page = InputPage(self)
def show_query_page(self):
self.login_page.pack_forget() # 隐藏登录界面
self.query_page.pack() # 显示查询界面
def show_input_page(self):
self.login_page.pack_forget() # 隐藏登录界面
self.input_page.pack() # 显示录入界面
def show_login_page(self):
self.query_page.pack_forget() # 隐藏查询界面
self.input_page.pack_forget() # 隐藏录入界面
self.login_page.pack() # 显示登录界面
if __name__ == "__main__":
window = MainWindow()
window.mainloop()
```
在修正后的代码中,我添加了 `show_login_page` 方法,它的作用是隐藏查询界面和录入界面,并显示登录界面。这样,当点击返回按钮时,就可以调用 `show_login_page` 方法返回到登录界面。
请注意,您还需要根据实际情况在 `QueryPage` 和 `InputPage` 类中添加返回按钮,并将其与 `show_login_page` 方法关联。
希望这可以解决您遇到的问题!如果还有其他疑问,请随时提问。
AttributeError: '_tkinter.tkapp' object has no attribute 'menu_buttons'報這個
这个错误是因为在您的代码中,`menu_buttons`属性没有被正确地定义或访问。请确保在`MainApplication`类中定义`menu_buttons`属性,并正确地访问它。
以下是一个修正后的示例,展示了如何定义和访问`menu_buttons`属性:
```python
class MainApplication(tk.Tk):
def __init__(self):
super().__init__()
self.title("GUI应用")
self.geometry("400x300")
self.login_page = LoginPage(self)
self.home_page = HomePage(self)
self.query_page = QueryPage(self)
self.input_page = InputPage(self)
self.menu_buttons = [] # 定义菜单按钮列表
self.show_login_page()
# 其他方法...
def clear_menu_buttons(self):
for button in self.menu_buttons:
button.pack_forget()
self.menu_buttons = []
def add_menu_button(self, text, command):
button = tk.Button(self, text=text, command=command)
button.pack()
self.menu_buttons.append(button)
```
在这个示例中,我们将`menu_buttons`属性定义为`MainApplication`类的一个实例变量,并在`clear_menu_buttons()`和`add_menu_button()`方法中正确访问它。
请确保在您的代码中也按照类似的方式定义和访问`menu_buttons`属性。
如果问题仍然存在,请提供更多相关的代码,以便我们能够更好地帮助您解决问题。