簡體   English   中英

字符串變量未設置初始值

[英]String Variable not setting initial value

class Lay():
  def __init__(self):
    root=Tk()
    root.configure(background="black")
    var=StringVar()
    var.set("OVERVIEW")
    Label(root,textvariable=var).grid(row=1,column=1,sticky=W+E+N+S)
    Entry(root, textvariable = var).place(rely=1.0,relx=1.0,x=0,y=0,anchor=SE)
    root.mainloop() 

你好,當我運行這個時,字符串變量的初始值沒有出現,但是當我在輸入框中輸入時,我輸入的文本出現在標簽中。 我不太確定為什么會發生這種情況,但我首先得到一個空標簽,帶有輸入框。 感謝您的任何幫助。

雖然,我無法重現該問題,但我重構了您的代碼以通過一個類初始化 tkinter 小部件(受docs 中的代碼段啟發)並且還增加了窗口大小,以便可以清楚地查看小部件。 如果您的代碼中有任何其他內容像@jasonharper 建議的那樣調用多個窗口,您應該分享它。

import tkinter as tk

class Lay(tk.Tk):
    def __init__(self, master=None):
        super().__init__(master)
        self.master = master        
        self.var=tk.StringVar()
        self.var.set("OVERVIEW")        
        self.Widgets()   


    def Widgets(self):        
        self.displaylbl = tk.Label(self,textvariable=self.var)
        self.displaylbl.grid(row=2,column=1,sticky=tk.W+tk.E+tk.N+tk.S)        
        self.entry = tk.Entry(self, textvariable = self.var)
        self.entry.place(rely=1.0,relx=1.0,x=0,y=0,anchor=tk.SE)


app = Lay()
app.geometry("200x200")
app.mainloop()

輸出:

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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