我一直在與幾個tkinter教程,包括一個文本窗口和一個非常有用的教程,但沒有文本窗口。看到這裏:https://www.youtube.com/watch?v=oV68QJJUXTU試圖添加TK文本窗口爲例,導入tkinter混淆
我試圖添加一個文本窗口到這個例子,但發現常量END未定義和文本窗口未打開或顯示在框架中。我把它歸結爲進口的差異。使用「from tkinter import *」來定義常量END(它是'結束'),但是使用本教程的方法「import tkinter as tk」,未定義常量END。我定義它來清除錯誤,當我嘗試使用文本窗口窗口永遠不會打開(從未出現)在示例中,所以我認爲要麼必須重寫使用import *方法,要麼我需要了解如何超過導入爲tk差異。
它接口導入爲tk可能是更正確的方法,而不是*,所以這是我認爲我應該學會這樣做的方式。
有什麼建議嗎?
此代碼的工作
from tkinter import *
.....
class set_window(Thread):
def __init__(self, labelText):
Thread.__init__(self)
self.labelText = labelText
self.labelText.set("Text Window Display")
self.T = Text(root, height=40, width=60, bd=10)
self.T.grid(row=1, column=0)
self.T.focus_set()
self.T.insert(END, "Just a text Widget\nin two lines\n")
但這並不:
import tkinter as tk
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
label = tk.Label(self, text="Blast it!", font=XLARGE_FONT)
label.pack(pady=10, padx=10)
label_2 = tk.Label(self, text="Input Text Here", font=LARGE_FONT)
label_2.pack(pady=10, padx=10)
self.T = tk.Text(self, height=40, width=60, bd=10)
# print(type(END))
# input ("Press Enter")
self.T.insert(END, "Just a text Widget\nin two lines\n")
self.T.insert('end', "Just a text Widget\nin two lines\n")
self.T.focus_set()
使用字符串「end」而不是'END'或'tk.END'。沒有理由使用常量。 –
我想我已經找到了一些我的答案。我將「END」更改爲「tk.END」,並且我添加了pack語句如下.self.T.pack() –
Hello Bryan。感謝您提供關於「tk.END」的線索。常量END接縫是許多程序員用戶在模塊中定義的接口。所以我認爲這是理由。我在這裏黑暗中摸索着。 –