是否可以在没有标签或画布的情况下将图像放置在Tkinter中

时间:2019-01-13 04:10:20

标签: python tkinter

我试图将图像并排放置,但是标签重叠并且标签伸出。

from tkinter import *
root = Tk()
root.geometry("1000x700")
root.resizable(0, 0)
##############################################
TFi = PhotoImage(file="images/Topframe.png")
TF = Label(root, image=TFi)
TF.place(x=-3, y=-3)
BFi = PhotoImage(file="images/Botframe.png")
BF = Label(root, image=BFi)
BF.place(x=-3, y=650)
LF1i = PhotoImage(file="images/LeftFrame1.png")
LF1 = Label(root, image=LF1i)
LF1.place(x=-3, y=50)
##############################################
root.mainloop()

1 个答案:

答案 0 :(得分:0)

  

是否可以在没有标签或画布的情况下将图像放置在Tkinter中

您最常用的标签选择是画布或标签。您还可以将图像放在按钮上,然后将其嵌入到文本小部件中。

创建彼此相邻的标签的最佳选择是使用packgrid。如果您要进行单个水平或垂直分组,pack会很好,但是如果您同时进行小部件的行和列,grid会更好。

您可以使用place,但是这要求您进行所有数学运算以计算每个图像的位置,并且通常会导致用户界面对屏幕分辨率的更改不太适应。有时甚至导致您不得不对每个小部件进行更改,即使您只想略微调整布局。

我对它们为什么重叠的猜测是,您不知道默认情况下给place给出的坐标是指定图像的中心,而不是左上角。您可以使用anchor选项指定图像的哪一部分在给定坐标处。

  

标签伸出。

我不确定您的意思是什么,但是如果您表示它具有3D外观,则可以通过为其赋予borderwidth为零和/或relief来控制它"flat"中的。