gpt4 book ai didi

python - 在网格管理器中使用带有 Tkinter 的输入框?

转载 作者:行者123 更新时间:2023-12-05 04:18:31 24 4
gpt4 key购买 nike

我正在尝试使用 Tkinter 制作一个基本的 GUI,并使用网格管理器在我的标签旁边有一个输入框,但是如果我将 .grid() 与我的 Entry 对象一起使用,那么当我运行我的程序时,窗口不会显示.

当我使用 .pack() 时它确实有效,这很奇怪,因为我听说当我在同一个小部件中有其他使用 .grid() 的东西时不使用 .pack()。但我确实想使用 .grid(),因为我希望能够按照我想要的方式组织它。

代码如下,我在使用 Entry 对象 showName 时遇到了问题。注释掉的 .pack() 语句是有效的,.grid() 语句是无效的。

有人知道这是怎么回事吗?

from Tkinter import *

class RenamerGUI():
def __init__(self, master):
frame = Frame(master)
frame.pack() #Make frame visible

self.exit = Button(frame, text = "Exit", fg = "red", command = frame.quit)

self.csv2tsv = Button(frame, text = "csv2tsv", fg = "green", bg = "black", command=self.csv2tsv)
self.epguidestsvFormatter = Button(frame, text = "epguidestsvFormatter", fg = "green", bg = "black", command = self.epguidestsvFormatter)
self.epNamesList = Button(frame, text = "epNamesList", fg = "green", bg = "black", command = self.epNamesList)
self.SeasonSplitter = Button(frame, text = "SeasonSplitter", fg = "green", bg = "black", command = self.SeasonSplitter)
self.Renamer = Button(frame, text = "Renamer", fg = "green", bg = "black", command = self.Renamer)

self.showLabel = Label(frame, text = "Show: ")

self.showName = Entry(master)

self.get = Button(frame, text = "Get", command = self.textgetter)


self.exit.grid(row=3, column=4)
self.csv2tsv.grid(row=1, column = 0)
self.epguidestsvFormatter.grid(row=1, column=1)
self.epNamesList.grid(row=1, column=2)
self.SeasonSplitter.grid(row=1, column=3)
self.Renamer.grid(row=1, column=4)
self.showLabel.grid(row=2)
self.showName.grid(row=2, column=1)
#self.showName.pack(side=BOTTOM)

最佳答案

条目的父级错误:

self.showName = Entry(master)

应该是

self.showName = Entry(frame)

关于python - 在网格管理器中使用带有 Tkinter 的输入框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13211524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com