Я знаю, что вы можете сделать это с label.pack(fill=x)
, но мне нужно использовать сетку.Я искал вокруг и нашел root.grid_rowconfigure(0, weight=1)
и root.grid_columnconfigure(0,weight=1)
, но они просто центрируют запись в середине экрана, и мне тоже нужно изменить размер.Я новичок в этом, поэтому любая помощь очень ценится.
from tkinter import *
import pyperclip
root = Tk()
def listify(userString, brackets=True, quotes=True):
outputList = []
outputString = ''
if brackets == True:
outputList.append('[')
if quotes == True:
outputList.append("\"")
userString = str(userString)
lastCharacter = ""
for character in userString:
if character == " " or character == ' ':
if lastCharacter == " " or lastCharacter == ' ':
pass
elif lastCharacter != " " or lastCharacter != ' ':
if quotes == True:
outputList.append("\"")
outputList.append(', ')
if quotes == True:
outputList.append("\"")
else:
outputList.append(character)
lastCharacter = character
if quotes == True:
outputList.append("\"")
if brackets == True:
outputList.append("]")
outputString = outputString.join(outputList)
return(outputString)
def mainListify():
outputLabel.destroy()
pyperclip.copy(listify(userText.get(),bracketsVar.get(),quotesVar.get()))
newLabel = Label(root, text = listify(userText.get(),bracketsVar.get(),quotesVar.get()))
newLabel.grid()
userText = StringVar()
quotesVar = BooleanVar()
bracketsVar = BooleanVar()
quotesVar.set(True)
bracketsVar.set(True)
userEntry = Entry(root, textvariable=userText)
quotes = Checkbutton(root, text='Quotes', onvalue=True, offvalue=False, variable=quotesVar)
brackets = Checkbutton(root, text='Brackets', onvalue=True, offvalue=False, variable=bracketsVar)
startButton = Button(root, text='Start', command=mainListify)
outputLabel = Label(root, text='Output Will Show Here')
userEntry.grid(columnspan=2)
quotes.grid(row=1)
brackets.grid(row=1,column=1)
outputLabel.grid(row=3,column=1)
startButton.grid(row=2, column=0)
root.mainloop()