如何在使用网格系统时更改 tkinter 中的条目高度并添加文本换行?
How to change Entry height in tkinter while using grid system and add text wraping?
我正在制作电子邮件发送 gui 应用程序。我想添加一个条目(我的代码中的 messageEntry)来输入消息。我想改变它的高度,这样消息就不必在一行中输入(我想要文字换行)。我尝试使用 ipady,它确实调整了条目的大小,但消息仍然只能在一行中输入(在条目的中间)。这是我的代码:
def sendMail(senderEmail, senderPassword):
global server
sendMailFont = ['Consolas', 10]
sendMailWindow = Tk()
sendMailWindow.title("Sendmail")
sendMailWindow.resizable(False, False)
sendMailWindow.focus_force()
# sendMailWindow.iconbitmap('info icon.ico')
sendMailWindow.config(bg = "#DCDCDC")
loggedInLabel = Label(sendMailWindow, font = (sendMailFont), text = "Logged in as {}".format(senderEmail), bg = "#DCDCDC")
loggedInLabel.grid(row = 0, column = 0)
subjectLabel = Label(sendMailWindow, font = (sendMailFont), text = "Subject", bg = "#DCDCDC")
subjectLabel.grid(row = 2, column = 0, sticky = "w")
subjectEntry = Entry(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37)
subjectEntry.grid(row = 3, column = 0, sticky = "w", ipady = 2)
messageLabel = Label(sendMailWindow, font = (sendMailFont), text = "Message", bg = "#DCDCDC")
messageLabel.grid(row = 5, column = 0, sticky = "w")
messageEntry = Entry(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37)
messageEntry.grid(row = 6, column = 0, sticky = "w")
hiddenLabel = Label(sendMailWindow, font = ('Consolas', 1), text = "", bg = "#DCDCDC")
hiddenLabel.grid(row = 1, column = 0, sticky = "we")
hiddenLabel = Label(sendMailWindow, font = ('Consolas', 10), text = "", bg = "#DCDCDC")
hiddenLabel.grid(row = 4, column = 0, sticky = "we")
sendMailWindow.mainloop()
您可以像这样使用 tkinter.scrolledtext
模块:
from tkinter import *
from tkinter.scrolledtext import *
def sendMail(senderEmail, senderPassword):
global server
sendMailFont = ['Consolas', 10]
sendMailWindow = Tk()
sendMailWindow.title("Sendmail")
sendMailWindow.resizable(False, False)
sendMailWindow.focus_force()
# sendMailWindow.iconbitmap('info icon.ico')
sendMailWindow.config(bg = "#DCDCDC")
loggedInLabel = Label(sendMailWindow, font = (sendMailFont), text = "Logged in as {}".format(senderEmail), bg = "#DCDCDC")
loggedInLabel.grid(row = 0, column = 0)
subjectLabel = Label(sendMailWindow, font = (sendMailFont), text = "Subject", bg = "#DCDCDC")
subjectLabel.grid(row = 2, column = 0, sticky = "w")
subjectEntry = Entry(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37)
subjectEntry.grid(row = 3, column = 0, sticky = "w", ipady = 2)
messageLabel = Label(sendMailWindow, font = (sendMailFont), text = "Message", bg = "#DCDCDC")
messageLabel.grid(row = 5, column = 0, sticky = "w")
##########
messageEntry = ScrolledText(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37, height = 5)
messageEntry.grid(row = 6, column = 0, sticky = "w")
##########
sendMailWindow.mainloop()
该模块是带滚动条的tkinter.text
模块。你可以调整他的身高。
我正在制作电子邮件发送 gui 应用程序。我想添加一个条目(我的代码中的 messageEntry)来输入消息。我想改变它的高度,这样消息就不必在一行中输入(我想要文字换行)。我尝试使用 ipady,它确实调整了条目的大小,但消息仍然只能在一行中输入(在条目的中间)。这是我的代码:
def sendMail(senderEmail, senderPassword):
global server
sendMailFont = ['Consolas', 10]
sendMailWindow = Tk()
sendMailWindow.title("Sendmail")
sendMailWindow.resizable(False, False)
sendMailWindow.focus_force()
# sendMailWindow.iconbitmap('info icon.ico')
sendMailWindow.config(bg = "#DCDCDC")
loggedInLabel = Label(sendMailWindow, font = (sendMailFont), text = "Logged in as {}".format(senderEmail), bg = "#DCDCDC")
loggedInLabel.grid(row = 0, column = 0)
subjectLabel = Label(sendMailWindow, font = (sendMailFont), text = "Subject", bg = "#DCDCDC")
subjectLabel.grid(row = 2, column = 0, sticky = "w")
subjectEntry = Entry(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37)
subjectEntry.grid(row = 3, column = 0, sticky = "w", ipady = 2)
messageLabel = Label(sendMailWindow, font = (sendMailFont), text = "Message", bg = "#DCDCDC")
messageLabel.grid(row = 5, column = 0, sticky = "w")
messageEntry = Entry(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37)
messageEntry.grid(row = 6, column = 0, sticky = "w")
hiddenLabel = Label(sendMailWindow, font = ('Consolas', 1), text = "", bg = "#DCDCDC")
hiddenLabel.grid(row = 1, column = 0, sticky = "we")
hiddenLabel = Label(sendMailWindow, font = ('Consolas', 10), text = "", bg = "#DCDCDC")
hiddenLabel.grid(row = 4, column = 0, sticky = "we")
sendMailWindow.mainloop()
您可以像这样使用 tkinter.scrolledtext
模块:
from tkinter import *
from tkinter.scrolledtext import *
def sendMail(senderEmail, senderPassword):
global server
sendMailFont = ['Consolas', 10]
sendMailWindow = Tk()
sendMailWindow.title("Sendmail")
sendMailWindow.resizable(False, False)
sendMailWindow.focus_force()
# sendMailWindow.iconbitmap('info icon.ico')
sendMailWindow.config(bg = "#DCDCDC")
loggedInLabel = Label(sendMailWindow, font = (sendMailFont), text = "Logged in as {}".format(senderEmail), bg = "#DCDCDC")
loggedInLabel.grid(row = 0, column = 0)
subjectLabel = Label(sendMailWindow, font = (sendMailFont), text = "Subject", bg = "#DCDCDC")
subjectLabel.grid(row = 2, column = 0, sticky = "w")
subjectEntry = Entry(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37)
subjectEntry.grid(row = 3, column = 0, sticky = "w", ipady = 2)
messageLabel = Label(sendMailWindow, font = (sendMailFont), text = "Message", bg = "#DCDCDC")
messageLabel.grid(row = 5, column = 0, sticky = "w")
##########
messageEntry = ScrolledText(sendMailWindow, font = (sendMailFont), bg = "#FFFFFF", width = 37, height = 5)
messageEntry.grid(row = 6, column = 0, sticky = "w")
##########
sendMailWindow.mainloop()
该模块是带滚动条的tkinter.text
模块。你可以调整他的身高。