Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 17.05.2020
Сообщений: 14

Подключить функцию к кнопке для вывода

21.12.2020, 17:49. Показов 1346. Ответов 5

Студворк — интернет-сервис помощи студентам
Имеется две функции и eng и rus, функцию rus требуется подключить к кнопке в yes, а eng подключить к no.
Нужно сделать так что бы при нажатии кнопки действие выводилась в label, то есть если мы вводим слова в entry при нажатии кнопки перевод слов выводится в label.

Вот функции:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
def eng():
    eng_words = {v: k for k,v in words.items()}
    find_word = input('Введите предложение на русском: ' '').split()
    res = ''
    for w in find_word :
        if w in eng_words :
            res = res + eng_words[w] + ' '
        else:
            print('No such key')
            return
    print(' '.join(find_word), ' -> ', res)
 
def rus():
    key = input('Введите предложение на английском: ' '').split()
    res = ''
    for w in key :
        if w in words :
            res = res + words[w] + ' '
        else:
            print('Перевод не найден')
            return
    print(' '.join(key), ' -> ', res)
а вот сам код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
from words import words
from tkinter import * 
 
root = Tk()
root.title('Переводчик')
root.geometry('500x200')
root['bg'] = ('#1ca1c9')
root.resizable(False,False)
 
def yes():
    win = Tk()
    win.geometry('500x200') 
    win['bg'] = ('#1ca1c9' )
    win.title('Переводчик') 
    labelExample = Label(win, text = " Введите предложение на английском: ",
                        font=('Times New Roman', 14,'bold'), bg = '#18f2b1')
    labelExample.place(x = 97, y = 10, width = 350, height = 40)
    ent1 = Entry(win, textvariable = rus, width = 45, bd = 3)
    ent1.place(x = 120, y = 50)
    buttonExample = Button(win, text = 'Перевести',
                           font=('Times New Roman', 12,'bold'), bg = '#18f2b1', command =  lambda: rus)
    buttonExample.place(x = 200, y = 80, width = 100, height = 30)
    lbl = Label(win, text = 'Перевод', font=('Times New Roman', 12,'bold'), bg = '#1ca1c9')
    lbl.place(x = 215, y = 115)
    win.mainloop()
 
def no():
    win = Tk()
    win.geometry('500x200') 
    win['bg'] = ('#1ca1c9' )
    win.title('Переводчик') 
    labelExample = Label(win, text = " Введите предложение на русском: ",
                        font=('Times New Roman', 14,'bold'), bg = '#18f2b1')
    labelExample.place(x = 110, y = 10, width = 305, height = 40)
    ent3 = Entry(win, textvariable = words, width = 45, bd = 3)
    ent3.place(x = 120, y = 50)
    buttonExample = Button(win, text = 'Перевести',
                           font=('Times New Roman', 12,'bold'), bg = '#18f2b1', command = eng)
    buttonExample.place(x = 200, y = 80, width = 100, height = 30)
    lbl = Label(win, text = 'Перевод', font=('Times New Roman', 12,'bold'), bg = '#1ca1c9')
    lbl.place(x = 215, y = 115)
    win.mainloop()
 
lbl1 = Label(root, text = 'Перевести на русский?',
                font=('Times New Roman', 14,'bold'), bg = '#18f2b1')
 
btn1 = Button(root,text=' Да ', 
            font=('Times New Roman', 14,'bold'),
            bg = '#18f2b1', command = yes)
btn2 = Button(root,text=' Нет ', 
            font=('Times New Roman', 14,'bold'),
            bg = '#18f2b1', command = no)
 
lbl1.place(x = 110, y = 10, width = 300, height = 40)
btn1.place(x = 150, y = 60, width = 50, height = 40)
btn2.place(x = 300, y = 60, width = 50, height = 40)
root.mainloop()
Знаю что нужно подключать через command, но тогда функция не выполняется. Помогите подключить правильно, пожалуйста
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.12.2020, 17:49
Ответы с готовыми решениями:

Составить функцию Faktorial и программу, использующую эту функцию для вывода таблицы факториалов
17. Составить функцию Faktorial и программу, использующую эту функцию для вывода таблицы факториалов.

Составить функцию Faktorial и программу, использующую эту функцию для вывода таблицы факториалов
Составить функцию Faktorial и программу, использующую эту функцию для вывода таблицы факториалов.

Написать функцию Faktorial и программу, использующую эту функцию для вывода таблицы факториалов
Написать функцию Faktorial и программу, использующую эту функцию для вывода таблицы факториалов. Добавлено через 17 секунд помогите...

5
 Аватар для Semen-Semenich
5220 / 3468 / 1172
Регистрация: 21.03.2016
Сообщений: 8,291
21.12.2020, 20:37
Python
1
command =  rus
но функции должны быть в основном коде или импортированы из другого модуля
Python
1
from имя_файла import rus
. чего у вас нет.
0
0 / 0 / 0
Регистрация: 17.05.2020
Сообщений: 14
21.12.2020, 21:11  [ТС]
Проблема как раз таки заключается в этом, функции находятся в основном коде, просто прописала их для наглядности отдельно.
При нажатии на кнопку ничего не происходит, а нужно чтобы выводил перевод слов в lable, но вот как именно прописать я не совсем понимаю.
Уже и через lbl.configure пробовала, но всё равно не получается. Возможно нужно поменять код, но вот как это сделать я тоже не понимаю.
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
23.12.2020, 10:35
Цитата Сообщение от seventeen_night Посмотреть сообщение
При нажатии на кнопку ничего не происходит
уточните, про какую конкретно кнопку идёт речь
0
0 / 0 / 0
Регистрация: 17.05.2020
Сообщений: 14
23.12.2020, 10:41  [ТС]
buttonExample в функции yes и buttonExample в функции no
при нажатии на кнопку в yes должен выводится перевод с английского на русский, то есть нужно подключить через command функцию rus
а при нажатии на кнопку в no должен выводится перевод с русского на английский, то есть подключить eng

но когда я подключаю ничего не выводится
0
 Аватар для kapbepucm
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
23.12.2020, 10:56
ну в первом случае
Python
1
command =  lambda: rus
замените на
Python
1
command =  rus
Добавлено через 3 минуты
дальше по коду rus будет ожидать текст из консоли

Добавлено через 1 минуту
логичнее былобы input заменить на чтение данных из Entry
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.12.2020, 10:56
Помогаю со студенческими работами здесь

Для вывода матрицы на экран использовать рекурсивную функцию вывода одной строки матрицы
Рекурсивная функция в С++. срочно! ДЛЯ вывода матрицы на экран построчно использовать РЕКУРСИВНУЮ функцию вывода на экран одномерного...

Реализовать и протестировать функцию перегрузки операции потокового вывода как дружественную функцию для класса Matrix
Добавить в определение класса Matrix, реализовать и протестировать функцию перегрузки операции потокового вывода как дружественную функцию...

Написать функцию "Факториал" и программу, использующую эту функцию для вывода таблицы факториалов
Написать функцию "Факториал" и программу, использующую эту функцию для вывода таблицы факториалов. В С++ пожалуйста.

Использовать функции для поиска максимума, ввода и вывода матрицы и функцию для упорядочения
Даны вещественная матрица А из N строк и N столбцов и В из М строк и М столбцв (M,N <=50 вводятся). Ввести обе матрицы. В той матрице,...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru