簡體   English   中英

框架中的Python Tkinter標簽

[英]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.

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