[英]Receiveing input from Python's tkinter entry widget and displaying it in a label
[英]Tkinter in Python - Entry widget not displaying
我正在嘗試使用.grid()函數在Label下顯示條目窗口小部件; 但是,它根本沒有出現。 這是我的代碼:
#demonstrates how to use a class with Tkinter
from Tkinter import *
import tkMessageBox
class Application(Frame):
def __init__(self, master):
""" Initializes the Frame"""
Frame.__init__(self, master)
self.grid()
self.create_widgets()
def create_widgets(self):
self.previous_trans = Text(width = 100, height = 5, wrap = WORD)
self.previous_trans.grid(row = 0, column = 0, columnspan = 2)
self.items = Text(width = 50, height = 16, wrap = WORD)
self.items.grid(row = 1, column = 1, rowspan = 14, sticky = E)
self.additem = Label(text = "Add Item")
self.additem.grid(row = 1)
self.myentry = Entry(self)
self.myentry.grid(row = 2)
root = Tk();
root.title("Work In Progress")
app = Application(root)
root.mainloop();
原因是:
app
指定行或列,因此默認為0,0 self.previous_trans
指定父self.previous_trans
因此它默認為根窗口-與應用程序框架相同 self.previous_trans
明確地放在第0行,第0列中,這將覆蓋標簽 您需要為Application
內的所有小部件提供一個明確的self
父對象:
self.previous_trans = Text(self, ...)
self.items = Text(self, ...)
self.additem = Label(self, ...)
self.myentry = Entry(self, ...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.