#python #tkinter
#python #tkinter
Вопрос:
Я новичок в Tkinter и испытываю трудности с менеджером геометрии сетки. Я пытался переместить свою метку с изображением в 1-й столбец окна. Но независимо от того, сколько столбцов я набираю, оно всегда остается в самой верхней левой части окна. Пожалуйста, посоветуйте мне по этому вопросу. Ниже приведен код:
import tkinter as tk
from PIL import ImageTk,Image
screen = tk.Tk()
screen.title("Login")
screen.geometry("2560x1600")
background = ImageTk.PhotoImage(Image.open("D:StRaNgEBackground.jpg"))
background_label = tk.Label(screen, image = background)
background_label.place(x = 0, y = 0, relwidth = 1, relheight = 1)
logo = ImageTk.PhotoImage(Image.open("D:StRaNgElogo2.jpg"))
lbl1 = tk.Label(screen, image=logo, relief = "solid", bd = 10, width = 1000, bg = "white")
lbl1.grid(row = 0, column = 1) #This is not working
screen.mainloop()
Комментарии:
1. Номера строк / столбцов относятся к другим элементам сетки в том же контейнере. Поскольку вы использовали только
.grid()
этот один элемент, они совершенно бессмысленны.2. Это потому, что в столбце 0 ничего нет, поэтому ширина равна нулю. Однако вы можете использовать
screen.columnconfigure(0, minsize=100)
для установки минимальной ширины первого столбца.3. @jasonharper Большое вам спасибо. Но, пожалуйста, укажите ответ в разделе ответов, чтобы я мог поддержать вас
4. @acw1668 Я получил от вас идеальный ответ. Я мог бы принять ваш ответ, только если бы вы поместили его в раздел ответов. В любом случае, спасибо.
Ответ №1:
Поскольку в столбце 0 ничего нет, его ширина будет равна нулю. Однако вы можете использовать
screen.columnconfigure(0, minsize=100) # change 100 to whatever you want
чтобы установить минимальную ширину столбца 0.