Уведомления

Группа в Telegram: @pythonsu

#1 Июль 25, 2012 12:41:39

MRA
Зарегистрирован: 2012-07-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Свой Punto Switcher, пока без блэкджека и барышень

Доброго времени суток! Почитав первые 200 страниц Марка Лутца (Изучаем Python), я решил закрепить свои знания, а заодно, освоить tkiner. Решил сделать что-то вроде Punto Switcher. Почитал на викиуниверситете теорию, еще посмотрел на Хабре. И вроде все хорошо, вот уже готово. Но зависает при нажатии на кнопку ОК (тобишь, при вызове функции перевода). Вот подскажите, как с этим бороться? И стоит ли переходить на Qt?

И простите, если не в тот раздел.

Я просто оставлю это здесь

from vocl_EnRu import Trans #Импортируем словарь
from tkinter import *
def Translate(event): #Функция перевода
    a = input()
    L = [c for c in a] #Массив с непереведенными символами
    T = [Trans[i] for i in L] #Массив с переведенными символами
    maxl = len(a)-1
    j = 0
    a = ''
    while j <= maxl: #Лепим слово
        a = a + T[j]
        j = j + 1
    Output.focus() #Вывод слова в текстбокс 
    print(a)
#Описание интерфейса
root = Tk() 
root.title('Tittle goes here')
root.geometry('550x250')
Input = Text(root,height=4,width=40,font='Arial 14',wrap=WORD)
Input.place(x=0, y=20)
Input.focus()
Output = Text(root,height=4, width=40, font='Arial 14', wrap=WORD)
Output.place(x=0, y=140)
OK = Button(root, text='OK', width=6, height=2)
OK.bind("<Button-1>", Translate)
OK.place(x=475 ,y=45)
root.mainloop()

Отредактировано MRA (Июль 25, 2012 12:44:47)

Офлайн

#2 Июль 25, 2012 12:57:11

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Свой Punto Switcher, пока без блэкджека и барышень

Может двухсот страниц мало?


a = input()
Что Вы ожидаете иметь в переменной а?

L = [c for c in a]
Какой смысл в этой конструкции?

a = a + T[j]
Ну join же!

Дальше не вникал.



Отредактировано FishHook (Июль 25, 2012 12:57:46)

Офлайн

#3 Июль 25, 2012 13:05:48

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Свой Punto Switcher, пока без блэкджека и барышень

Доучите сначала Python. Незачем браться сразу за GUI библиотеки. Qt есть смысл использовать, только когда уже есть понимание ООП.

Касательно ошибок.
В коде мешанина из методов GUI (Tkinter) и консоли

a = input()
вместо
a = Input.get(1.0, END)
Output.focus() #Вывод слова в текстбокс 
print(a)
вместо
Output.insert(END, a)

Офлайн

#4 Июль 25, 2012 13:44:20

MRA
Зарегистрирован: 2012-07-25
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Свой Punto Switcher, пока без блэкджека и барышень

Спасибо большое! Только все-равно зависает намертво…

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version