【发布时间】:2020-06-25 20:56:40
【问题描述】:
我确信这是一个快速修复,但我似乎无法弄清楚如何将我的输入文本框(第 4 列)与(第 1-3 列)中的图像和按钮对齐。这是我的代码,以及实际诗句所需输出的图像:
我已尝试更改 t1 - t3(章节编号输入)的列和行位置,但它们仍然显示在其他网格“框”下方而不是在同一行中。
from tkinter import *
from tkinter import ttk
# pip install pillow
# from pillow import Image, ImageTk
from PIL import ImageTk, Image
WD = Tk() # window
FM = Frame(WD) # frame
FM.grid(row=0,column=0)
# LABELS
lblA = Label(FM, text="Image 1", font=("Arial Bold", 20))
lblB = Label(FM, text="Image 2", font=("Arial Bold", 20))
lblC = Label(FM, text="Image 3", font=("Arial Bold", 20))
# LABEL POSITIONS
lblA.grid(row=0, column=1)
lblB.grid(row=1, column=1)
lblC.grid(row=2, column=1)
# CHAPTER NUMBER INPUTS
#ch1 = ""
t1 = Text()
t2 = Text()
t3 = Text()
# t1.config(wrap=WORD)
# t2.config(wrap=WORD)
# t3.config(wrap=WORD)
#ch1_entry = Entry(FM, width=8, textvariable=ch1)
t1.grid(row=0, column=4)#, sticky=(S, W))
t2.grid(row=1, column=4)#, sticky=(S, W))
t3.grid(row=2, column=4)#, sticky=(S, W))
# BUTTONS
btnA1 = Button(FM, text ="Move Up")
btnA2 = Button(FM, text ="Move Down")
btnB1 = Button(FM, text ="Move Up")
btnB2 = Button(FM, text ="Move Down")
btnC1 = Button(FM, text ="Move Up")
btnC2 = Button(FM, text ="Move Down")
# BUTTON POSITIONS
btnA1.grid(row=0,column=2, sticky="n")
btnA2.grid(row=0,column=2, sticky="s")
btnB1.grid(row=1,column=2, sticky="n")
btnB2.grid(row=1,column=2, sticky="s")
btnC1.grid(row=2,column=2, sticky="n")
btnC2.grid(row=2,column=2, sticky="s")
# IMAGES
load1 = Image.open("parrot.jpg")
renderA = ImageTk.PhotoImage(load1)
renderB = ImageTk.PhotoImage(load1)
renderC = ImageTk.PhotoImage(load1)
imgA = Label(FM, image=renderA)
imgB = Label(FM, image=renderB)
imgC = Label(FM, image=renderC)
imgA.image = renderA
imgB.image = renderB
imgC.image = renderC
# IMAGE POSITIONS
imgA.grid(row=0, column=3)
imgB.grid(row=1, column=3)
imgC.grid(row=2, column=3)
#root = Tk()
#app = Window(root)
#root.wm_title("Tkinter window")
#root.geometry("400x120")
WD.mainloop()
【问题讨论】:
-
您没有为
Texts 指定父窗口小部件。它们是与您的图像和按钮完全不同的网格的一部分。