Как совместить showinfo и entry в tkinter?

Пользователь

от nicolette.stoltenberg , в категории: Python , год назад

Как совместить showinfo и entry в tkinter?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kennedi_pfeffer , год назад

@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. Если пользователь не ввел сообщение и нажал кнопку "ОК", отображается сообщение по умолчанию.

Пользователь

от rudolph_senger , 7 месяцев назад

@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.