在tthon中的tk简单框架

时间:2015-04-07 13:08:53

标签: python tkinter tk

我正在尝试使用Frame编写一个代码,将Button打印到屏幕上 其中Canvas

import tkinter as tk
class SampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self.entry = tk.Entry(self)
        self.button = tk.Button(self, text="Get", command=self.on_button)
        self.button.pack()
        self.entry.pack()
        self.text =tk.Text(height=20,width=10)
        self.text.pack()
        self.canvas=tk.Canvas(fill='Black')
        self.canvas.pack()
    def on_button(self):
        print(self.entry.get())
app = SampleApp()
app.mainloop()

一旦我运行它,我就会收到一个错误:

_tkinter.TclError: unknown option "-fill"

我不知道为什么。

2 个答案:

答案 0 :(得分:1)

Fill是create_rectangle参数,而不是构造函数参数:

self.canvas.create_rectangle(0, 0, width, height, fill = "black") 

答案 1 :(得分:1)

画布不使用fill选项来定义背景;错误来自Tkinter代码的较低级别,它转移到底层的Tcl / Tk运行时;选项名称会在它们前面放置一个连字符,否则错误就意味着它所说的“在这种情况下不知道fill是什么”(释义)。

但是,画布 使用带有颜色的background选项。尝试:

    self.canvas=tk.Canvas(background='Black')

您还可以在画布上创建矩形; 那些是可填写的。整个画布不是矩形,它是一个小部件。