Окно с многострочным текстом внутри него (справка о Программе)

После перехода к меню "Справка", открывается окно, в котором должен быть многострочный текст, который содержит информацию о работе программы.

Но как в Tkinter сделать многострочный текст в окне?
Label не подходит. create_text тоже не подходит.

Весь движ происходит в функции func1().

from tkinter import *
from tkinter import messagebox as mb

WIDTH = 1000
HEIGHT = 700
H = 50
ROWS = 11
COLUMNS = 20
MAINCOLOR = "white"
FONT1 = "Verdana 10"
BACKGROUND_COLOR1 = "red"
FOREGROUND_COLOR = "yellow"
FONT2 = "Verdana 14"
BACKGROUND_COLOR2 = "white"

GAME_OVER = False
MISSION_COMPLETE = False

root = Tk()
root.title("Приложение")
root.geometry(f"{WIDTH}x{HEIGHT}+{root.winfo_screenwidth() // 2 - WIDTH // 2}+{root.winfo_screenheight() // 2 - HEIGHT // 2}")
root.resizable(False, False)
root["bg"] = MAINCOLOR
canvas = Canvas(root, width=H * COLUMNS, height=H * ROWS, bg=MAINCOLOR)
canvas.place(x=0, y=50)

for i in range(COLUMNS):
    for j in range(ROWS):
        canvas.create_rectangle((H * i, H * j), (H * i + H, H * j + H))

space = [0 for i in range(ROWS * COLUMNS)]

def func1():
    win = Tk()
    win.title("Справка")
    win.geometry(f"{900}x{600}+{win.winfo_screenwidth() // 2 - 450}+ 
    {win.winfo_screenheight() // 2 - 300}")
    win.resizable(False, False)
    c = Canvas(win, width=900, height=600, bg=MAINCOLOR)
    c.pack()
    text = Label(win, text="Работа программы проста.", font="Verdana 12")
    text.pack()

main_menu = Menu(root, tearoff=0)
root.config(menu=main_menu)

help_menu = Menu(main_menu, tearoff=0)
help_menu.add_command(label="Справка", command=func1)
help_menu.add_command(label="О разработчике")

main_menu.add_cascade(label="О программе", menu=help_menu)

if __name__ == "__main__":
    root.mainloop()

Ответы (1 шт):

Автор решения: S. Nick

tkinter.messagebox — Tkinter message prompts

Модуль tkinter.messagebox предоставляет базовый класс шаблона, а также множество удобных методов для часто используемых конфигураций.
Окна сообщений являются модальными ...

Как вариант:

from tkinter import *
from tkinter import messagebox as mb

WIDTH = 1000
HEIGHT = 700
H = 50
ROWS = 11
COLUMNS = 20
MAINCOLOR = "white"
FONT1 = "Verdana 10"
BACKGROUND_COLOR1 = "red"
FOREGROUND_COLOR = "yellow"
FONT2 = "Verdana 14"
BACKGROUND_COLOR2 = "white"

GAME_OVER = False
MISSION_COMPLETE = False

root = Tk()
root.title("Приложение")
root.geometry(f"{WIDTH}x{HEIGHT}+{root.winfo_screenwidth() // 2 - WIDTH // 2}+{root.winfo_screenheight() // 2 - HEIGHT // 2}")
root.resizable(False, False)
root["bg"] = MAINCOLOR
canvas = Canvas(root, width=H * COLUMNS, height=H * ROWS, bg=MAINCOLOR)
canvas.place(x=0, y=50)

for i in range(COLUMNS):
    for j in range(ROWS):
        canvas.create_rectangle((H * i, H * j), (H * i + H, H * j + H))

space = [0 for i in range(ROWS * COLUMNS)]

def func1():
    win = Tk()
    win.title("Справка")
    win.geometry(f"{900}x{600}+{win.winfo_screenwidth() // 2 - 450}+ \
    {win.winfo_screenheight() // 2 - 300}")
    win.resizable(False, False)
    c = Canvas(win, width=900, height=600, bg=MAINCOLOR)
    c.pack()
    text = Label(win, text="Работа программы проста.", font="Verdana 12")
    text.pack()

# !!! +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
def show_about_window():
    CURRENT_VERSION = "1.0.9"
    about_text = "Barcode Scanner\n\nVersion: {}\n\nDeveloped by: " \
        "Sindre\n\nDescription: Enter a barcode to mark it as green in the Excel "\
        "sheet.\n \n Note: Due to Windows Locking the Excel file when it is open, "\
        "the program can't run with the file open.".format(CURRENT_VERSION)

    mb.showinfo("About", about_text) 
# !!! +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

main_menu = Menu(root, tearoff=0)
root.config(menu=main_menu)

help_menu = Menu(main_menu, tearoff=0)      #  vvvvvvvvvvvvvvvvv # <----------------
help_menu.add_command(label="Справка", command=show_about_window)    # command=func1
help_menu.add_command(label="О разработчике")

main_menu.add_cascade(label="О программе", menu=help_menu)

if __name__ == "__main__":
    root.mainloop()

введите сюда описание изображения

введите сюда описание изображения

→ Ссылка