[英]Python Tkinter Label in Frame
我想在tkinter的框架中放置一個標簽,但是我不知道如何將其真正放入其中。
import tkinter
from tkinter import *
W=tkinter.Tk()
W.geometry("800x850+0+0")
W.configure(background="lightblue")
FRAME=Frame(W, width=100, height =50).place(x=700,y=0)
LABEL=Label(FRAME, text="test").pack()
運行此命令時,它不會將Label放置在框架內,而只是將其正常放置在窗口上。 我究竟做錯了什么?
在行中
FRAME=Frame(W, width=100, height =50).place(x=700,y=0)
您認為自己正在返回tk幀,但事實並非如此! 您將獲得place方法的返回值,即None
所以嘗試
frame = Frame(W, width=100, height=50)
frame.place(x=700, y=0)
label = Label(frame, text="test").pack()
如果您不希望框架收縮以適合標簽,請使用( 如何阻止Tkinter框架收縮以適應其內容? )
frame.pack_propagate(False)
注意:要么import tkinter
要么from tkinter import *
但不能兩者都from tkinter import *
。 同樣,按照慣例,對象實例的名稱是小寫的。
我認為這是因為您要將FRAME
分配給Frame(W, width=100, height =50).place(x=700,y=0)
,而不是實際的框架,並且根據位置管理器參考 ,似乎沒有返回值。 嘗試這個:
import tkinter
from tkinter import *
W=tkinter.Tk()
W.geometry("800x850+0+0")
W.configure(background="lightblue")
FRAME=Frame(W, width=100, height =50)
FRAME.place(x=700,y=0)
LABEL=Label(FRAME, text="test").pack()
W.mainloop()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.