Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 17.05.2020
Сообщений: 14
1
Tkinter

При нажатии кнопки выводить результат в строку

20.12.2020, 19:47. Показов 682. Ответов 0

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

Это основной код программы:
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
from words import words
 
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)
 
if __name__ == '__main__':
    x=input('Перевести на русский? ' '')
    if x == 'да':
        rus()
    elif x == 'нет':
        eng()
    else:
        print('Увидимся позже')
А это графический интерфейс:

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
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 = ' ', width = 45, bd = 3)
    ent1.place(x = 120, y = 50)
    buttonExample = Button(win, text = 'Перевести',
                            font=('Times New Roman', 12,'bold'), bg = '#18f2b1')
    buttonExample.place(x = 200, y = 80, width = 100, height = 30)
    ent2 = Entry(win, textvariable = ' ', width = 45, bd = 3)
    ent2.place(x = 120, y = 115)
 
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 = ' ' , width = 45, bd = 3)
    ent3.place(x = 120, y = 50)
    buttonExample = Button(win, text = 'Перевести',
                            font=('Times New Roman', 12,'bold'), bg = '#18f2b1')
    buttonExample.place(x = 200, y = 80, width = 100, height = 30)
    ent4 = Entry(win, textvariable = ' ', width = 45, bd = 3)
    ent4.place(x = 120, y = 115)
 
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()
Вот файл со словами:
Python
1
2
3
words={'on the street':'на улице', 'rain':'дождь', 'snow':'снег', 'weather':'погода', 'rainy':'дождливый', 'day':'день', 
'sunny':'солнечный', 'today':'сегодня', 'not':'не', 'sun':'солнце', 'strange':'странный', 'I':'Я', 'love':'', 'you':'тебя',   
'London':'Лондонский', 'bridge':'мост', 'is falling down':'падает', 'my':'моя', 'fair':'милая', 'lady':'леди'}
0
Заказывайте контрольные, курсовые и дипломы здесь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2020, 19:47
Ответы с готовыми решениями:

При нажатии кнопок мыши выводить информацию о нажатии соответствующей кнопки
на с++ написать программу которая при нажатии кнопок мыши выводить информацию о нажатии...

При нажатии кнопки "1" выводить 0, а при нажатии "2" выводить 1 (КР580ВИ53)
привет всем, сломал голову уже, в чём проблема? вот текст программы, которая должна при нажатии...

При нажатии одной и той же кнопки выводить всегда разный текст в lbl
Доброго времени суток, вопрос следующий. Хочу сделать таким образом, что бы при нажатии одной и той...

Создать апплет с кнопкой. При нажатии выводить очередную строку из файла
Создать апплет содержащий (JLabel )с текстом "простой апплет", кнопку и текстовое поле (JTextField)...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2020, 19:47

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Delphi 7: При нажатии кнопки Button3 результат не выводится в Memo
Помогите при нажатии кнопки Button3 результат не выводится в мемо procedur getKoef(var...

Как результат запроса при нажатии кнопки показать в MsgBox?
Есть запрос в результате которого получается таблица с одним полем и есть форма с кнопкой. Как...

как при нажатии кнопки очистить результат выбранной jRadioButton и jLabel?
как при нажатии кнопки очистить результат выбранной jRadioButton и jLabel? Добавлено через 25...

При нажатии кнопки заменить строку
Есть div <div class="form-item webform-component webform-component-markup"...

При нажатии кнопки - отобразить строку
Всем, здрасте. Есть такой вот скрипт. Формирует таблицу: 1-ая строка: Заголовок-Автор-Стоимость...

При нажатии кнопки выводить сообщение "Товар добавлен в корзину."
Код кнопки . В данном коде менять ничего нельзя, так как код генерируется iikostyle <span...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.