我一直在尝试为我的python代码创建一个图形窗口但是我不知道如何添加按钮而且我已经查看了网站而且它还没有用于我的版本(3.2.3)我现在有一些代码,这有什么问题吗?
import tkinter
import tkinter as tk
root = tk.Tk()
root.title("Adventure game")
root.geometry("1820x1000")
root.mainloop()
class Window(Tk):
def __init__(self, parent):
Tk.__init__(self, parent)
self.parent = parent
self.initialize()
def initialize(self):
self.geometry("600x400+30+30")
wButton = Button(self, text='start', command = self.OnButtonClick())
wButton.pack()
def OnButtonClick(self):
top = Toplevel()
top.title("title")
top.geometry("300x150+30+30")
topButton = Button(top, text="OPTION_1", command = self.OnButtonPress())
topButton = Button(top, text="OPTION_2", command = self.OnButtonPress())
topButton.pack()
def OnButtonPress(self):
top = Toplevel()
top.title("title")
top.geometry("300x150+30+30")
topButton = Button(top, text="OPTION_1", command = self.destroy)
bottomButton = Button(top, text="OPTION_2", command = self.destroy)
topButton.pack()
答案 0 :(得分:2)
回答您发布的问题"这有什么问题吗?":
长话短说是的,有。
首先,你的缩进希望不像它看起来像你的真实代码,而只是在你的帖子中。
其次,导入和使用tkinter库的方式。
import tkinter
VS import tkinter as tk
:
请使用其中任何一个。不是两个。
class Window(Tk):
这会导致错误,因为您无法根据导入访问Tk。根据您之前的决定class Window(tkinter.Tk):
或class Window(tk.Tk):
。
相同的操作适用于您在代码中使用的所有tkinter引用。
还有另一种解决方法吗? - 是:
from tkinter import *
会让您直接访问这些名称以使class Window(Tk):
正常工作。
为什么你早些没告诉我?
可以从一开始就从库中导入所有内容。应该这样做吗?恕我直言,应该尽可能避免使用太多的依赖项。为什么?因为它使代码更轻量级和可转移。为什么要导入我的代码中未使用的内容?
仔细阅读tkinter上的文档。像马提诺一样,有成千上万的示例代码库和#34;周围,所有可能格式的文档(书籍,电子书,论文,在线教程......)
阅读python文档。至少当你遇到某些部分的困难时。
在发布新问题之前,先看看Q& A。针对相同目标的问题可以在几十个单独的SO中找到。
一些例子:
所有这些问题都提供了您可以使用的示例,即使他们没有考虑相同的问题。这些问题提供了您可以为自己的利益使用的代码示例。