簡體   English   中英

Python中的Tkinter-條目小部件不顯示

[英]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();

原因是:

  1. 您沒有為app指定行或列,因此默認為0,0
  2. 您沒有為self.previous_trans指定父self.previous_trans因此它默認為根窗口-與應用程序框架相同
  3. 您將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM