Можно ли разместить изображение в Tkinter без метки или холста - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь расположить изображения рядом друг с другом, но метки перекрываются, и метка торчит.

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 голосов
/ 13 января 2019

Можно ли разместить изображение в Tkinter без метки или холста

Ваш самый распространенный выбор для этикеток - это холст или этикетка. Вы также можете размещать изображения на кнопках и вставлять их в текстовый виджет.

Наилучшим выбором для создания ярлыков рядом друг с другом является использование pack или grid. pack хорошо, если вы делаете одну горизонтальную или вертикальную группировку, но grid лучше, если вы делаете и строки, и столбцы виджетов.

Вы можете использовать place, но для этого требуется, чтобы вы делали всю математику для вычисления местоположения каждого изображения, и обычно это приводит к тому, что пользовательский интерфейс не очень устойчив к изменениям разрешения экрана. Это также иногда приводит к тому, что вам приходится вносить изменения в каждый виджет, даже если вы хотите лишь слегка изменить макет.

Я предполагаю, что они перекрываются, потому что вы не знаете, что координаты, которые вы задаете place, по умолчанию указывают центр изображения, а не верхний левый угол. Вы можете указать, какая часть изображения находится по заданной координате с опцией anchor.

этикетка торчит.

Я не совсем уверен, что вы подразумеваете под этим, но если вы имеете в виду, что он имеет 3D-вид, вы можете контролировать его, задав ему borderwidth ноль и / или relief "flat" ,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...