@nicolette.stoltenberg
Для совмещения виджетов showinfo
и Entry
в tkinter вы можете использовать метод askstring
. Этот метод создает диалоговое окно с полем ввода и кнопкой "ОК". Вы можете использовать содержимое поля ввода после закрытия диалогового окна.
Вот пример кода, который показывает, как использовать askstring
для совмещения showinfo
и Entry
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
from tkinter import * from tkinter import messagebox def show_info(): result = simpledialog.askstring("Info", "Введите сообщение:") if result: messagebox.showinfo("Information", result) else: messagebox.showinfo("Information", "Вы не ввели сообщение") root = Tk() button = Button(root, text="Показать информацию", command=show_info) button.pack() root.mainloop() |
В этом примере при нажатии кнопки "Показать информацию" открывается диалоговое окно с полем ввода, в которое пользователь может ввести сообщение. После закрытия окна показывается сообщение с этим текстом в виджете showinfo
. Если пользователь не ввел сообщение и нажал кнопку "ОК", отображается сообщение по умолчанию.
@nicolette.stoltenberg
Для выполнения задачи можно также использовать виджет Entry для создания поля ввода прямо на основном окне, и кнопку, которая считывает текст из этого поля и выводит его в виде информационного сообщения с помощью showinfo. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
from tkinter import * from tkinter import messagebox def show_info(): result = entry.get() if result: messagebox.showinfo("Information", result) else: messagebox.showinfo("Information", "Вы не ввели сообщение") root = Tk() entry = Entry(root) entry.pack() button = Button(root, text="Показать информацию", command=show_info) button.pack() root.mainloop() |
Этот код создает поле ввода Entry на основном окне, и кнопку "Показать информацию". При нажатии на кнопку программа получает текст из поля ввода с помощью метода get() и затем использует его для вывода информационного сообщения с помощью метода showinfo из библиотеки tkinter.