簡體   English   中英

在tkinter Python中遇到Entry變量時遇到問題

[英]Having trouble with Entry variables in tkinter Python

from tkinter import *

root = Tk()
root.geometry("800x650")
e = Entry(root, width=3, font=('Verdana', 30), justify='right')

a = b = c = e

a.place(relx=0.2, rely=0.5, anchor=CENTER)
b.place(relx=0.44, rely=0.5, anchor=CENTER)
c.place(relx=0.65, rely=0.5, anchor=CENTER)
root.mainloop()

為什么我看不到所有三個條目,它們在哪里?

但是當我這樣做時:

a = Entry(root, width=3, font=('Verdana', 30), justify='right')
b = Entry(root, width=3, font=('Verdana', 30), justify='right')
c = Entry(root, width=3, font=('Verdana', 30), justify='right')

有用...

嘗試使“e”成為一個類,並單獨聲明你的方框,a = b = e給出的結果與你嘗試的相同。

root = Tk()
root.geometry("800x650")

class MyEntry(Entry):
    def __init__(self, master=root):
        Entry.__init__(self, master=root)

        self.configure(width = 3, 
            font = ('Verdana', 30),
            justify = 'right')

a = MyEntry()
b = MyEntry()
c = MyEntry()

a.place(relx=0.2, rely=0.5, anchor=CENTER)
b.place(relx=0.44, rely=0.5, anchor=CENTER)
c.place(relx=0.65, rely=0.5, anchor=CENTER)
root.mainloop()

為什么我看不到所有三個條目,它們在哪里?

您無法看到三個條目,因為您沒有創建三個條目。 當你執行a = b = c = e ,您要為e引用的同一個對象分配三個新名稱,而不是創建新的小部件。 abce都指向內存中的同一個對象。

暫無
暫無

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

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