如何在使用网格系统的同时改变tkinter中的输入高度,并添加文本包装?

问题描述 投票:0回答:1

我正在做一个邮件发送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()
python tkinter label
1个回答
0
投票

你可以使用 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 带有滚动条的模块。你可以调整他的高度。

© www.soinside.com 2019 - 2024. All rights reserved.