Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
3 / 2 / 2
Регистрация: 16.03.2015
Сообщений: 188
1

Цифровая клавиатура

30.10.2017, 11:47. Показов 1220. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте форумчане.
Хотел написать имитацию ввода пин кода.
К примеру есть форма с кнопками и полем вывода. Если я нажимаю на кнопку - то эта цыфра выводиться в поле вывода.
Но не знаю с чего начать так как в питоне новичек. Может есть у кого похожие шаблоны или исходники.
Я уже постараюсь переделать. Буду благодарен за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2017, 11:47
Ответы с готовыми решениями:

Цифровая фильтрация сигнала
Т.З. Записан сердечный ритм, файл в wave формате, нужно оставить сигнал в полосе частот от 2 до 50...

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

Защита файлов Windows от распространения (Цифровая метка)
Всем привет! Задача такова: защитить файлы от распространения, путём установки цифровой метки....

Не работает цифровая клавиатура
Не работает цифровая часть клавиатуры после ремонта, поменяли мультик на ноутбуке HP Pavilion...

расширенная цифровая клавиатура
убунту ее не воспринимает... точнее когда жму Enter, то все норм, а когда циферки, то нету...

6
Эксперт Python
4640 / 2056 / 363
Регистрация: 17.03.2012
Сообщений: 10,139
Записей в блоге: 6
30.10.2017, 11:51 2
Задача полностью завязана на графику. Так что зависит от вашей граф. среды.
0
3 / 2 / 2
Регистрация: 16.03.2015
Сообщений: 188
30.10.2017, 11:59  [ТС] 3
Я думал использовать PyQT.
0
35 / 33 / 19
Регистрация: 22.01.2015
Сообщений: 215
30.10.2017, 12:40 4
Цитата Сообщение от Глеб Иванов Посмотреть сообщение
PyQT
Можно и GTK, но немного "геморней".
0
Эксперт Python
5434 / 3857 / 1215
Регистрация: 28.10.2013
Сообщений: 9,553
Записей в блоге: 1
30.10.2017, 14:49 5
Пример цифровой панели калькулятора на tkinter (Для такой простой вещи устанавливать 150 mb pyQt? Хотя, дело хозяйское, конечно).
Исходник взят отсюда
и немного исправлен под python 3. Сохраняете файл как .pyw и получаете это:
Название: calc.jpg
Просмотров: 13

Размер: 14.9 Кб
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#-*-coding: utf-8-*-
from tkinter import Button,Entry,END,Tk
import math
 
class calc:
    def getandreplace(self):
        """replace x with * and ? with /"""
        
        self.expression = self.e.get()
        self.newtext=self.expression.replace(self.newdiv,'/')
        self.newtext=self.newtext.replace('x','*')
 
    def equals(self):
        """when the equal button is pressed"""
 
        self.getandreplace()
        try: 
            self.value= eval(self.newtext) #evaluate the expression using the eval function
        except SyntaxError or NameErrror:
            self.e.delete(0,END)
            self.e.insert(0,'Invalid Input!')
        else:
            self.e.delete(0,END)
            self.e.insert(0,self.value)
    
    def squareroot(self):
        """squareroot method"""
        
        self.getandreplace()
        try: 
            self.value= eval(self.newtext) #evaluate the expression using the eval function
        except SyntaxError or NameErrror:
            self.e.delete(0,END)
            self.e.insert(0,'Invalid Input!')
        else:
            self.sqrtval=math.sqrt(self.value)
            self.e.delete(0,END)
            self.e.insert(0,self.sqrtval)
 
    def square(self):
        """square method"""
        
        self.getandreplace()
        try: 
            self.value= eval(self.newtext) #evaluate the expression using the eval function
        except SyntaxError or NameErrror:
            self.e.delete(0,END)
            self.e.insert(0,'Invalid Input!')
        else:
            self.sqval=math.pow(self.value,2)
            self.e.delete(0,END)
            self.e.insert(0,self.sqval)
    
    def clearall(self): 
        """when clear button is pressed,clears the text input area"""
        self.e.delete(0,END)
    
    def clear1(self):
        self.txt=self.e.get()[:-1]
        self.e.delete(0,END)
        self.e.insert(0,self.txt)
 
    def action(self,argi): 
        """pressed button's value is inserted into the end of the text area"""
        self.e.insert(END,argi)
    
    def __init__(self,master):
        """Constructor method"""
        master.title('Calulator') 
        master.geometry()
        self.e = Entry(master)
        self.e.grid(row=0,column=0,columnspan=6,pady=3)
        self.e.focus_set() #Sets focus on the input text area
                
        self.div='?'
        
        #Generating Buttons
        Button(master,text="=",width=10,command=lambda:self.equals()).grid(row=4, column=4,columnspan=2)
        Button(master,text='AC',width=3,command=lambda:self.clearall()).grid(row=1, column=4)
        Button(master,text='C',width=3,command=lambda:self.clear1()).grid(row=1, column=5)
        Button(master,text="+",width=3,command=lambda:self.action('+')).grid(row=4, column=3)
        Button(master,text="x",width=3,command=lambda:self.action('x')).grid(row=2, column=3)
        Button(master,text="-",width=3,command=lambda:self.action('-')).grid(row=3, column=3)
        Button(master,text="?",width=3,command=lambda:self.action(self.div)).grid(row=1, column=3) 
        Button(master,text="%",width=3,command=lambda:self.action('%')).grid(row=4, column=2)
        Button(master,text="7",width=3,command=lambda:self.action('7')).grid(row=1, column=0)
        Button(master,text="8",width=3,command=lambda:self.action(8)).grid(row=1, column=1)
        Button(master,text="9",width=3,command=lambda:self.action(9)).grid(row=1, column=2)
        Button(master,text="4",width=3,command=lambda:self.action(4)).grid(row=2, column=0)
        Button(master,text="5",width=3,command=lambda:self.action(5)).grid(row=2, column=1)
        Button(master,text="6",width=3,command=lambda:self.action(6)).grid(row=2, column=2)
        Button(master,text="1",width=3,command=lambda:self.action(1)).grid(row=3, column=0)
        Button(master,text="2",width=3,command=lambda:self.action(2)).grid(row=3, column=1)
        Button(master,text="3",width=3,command=lambda:self.action(3)).grid(row=3, column=2)
        Button(master,text="0",width=3,command=lambda:self.action(0)).grid(row=4, column=0)
        Button(master,text=".",width=3,command=lambda:self.action('.')).grid(row=4, column=1)
        Button(master,text="(",width=3,command=lambda:self.action('(')).grid(row=2, column=4)
        Button(master,text=")",width=3,command=lambda:self.action(')')).grid(row=2, column=5)
        Button(master,text="v",width=3,command=lambda:self.squareroot()).grid(row=3, column=4)
        Button(master,text="x?",width=3,command=lambda:self.square()).grid(row=3, column=5)
        
    
if __name__ == "__main__":
    #Main
    root = Tk()
    obj=calc(root) #object instantiated
    root.mainloop()
1
3 / 2 / 2
Регистрация: 16.03.2015
Сообщений: 188
30.10.2017, 15:16  [ТС] 6
Вот у меня получился интерфейс... Интерфейс намного проще.
Осталось разобратся только как обработать кнопки.
Миниатюры
Цифровая клавиатура  
0
35 / 33 / 19
Регистрация: 22.01.2015
Сообщений: 215
30.10.2017, 16:00 7
Цитата Сообщение от Глеб Иванов Посмотреть сообщение
получился интерфейс
Не проще в одно поле, а не в четыре?
0
30.10.2017, 16:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2017, 16:00
Помогаю со студенческими работами здесь

Клавиатура - Клавиатура Logitech G G810 ORION SPECTRUM проблема с подсветкой
Здравствуйте. У двух кнопок в клавиатуре Logitech G G810 ORION SPECTRUM перестала гореть подсветка...

Не работает клавиатура на ноутбуке, внешняя клавиатура частично не работает, экранная не работает
Добрый день! Не работает клавиатура на ноутбуке, внешняя клавиатура частично не работает, экранная...

Цифровая фильтрация
Доброго времени суток! с цифровой обработкой сигналов только начинаю разбираться, есть практическая...

Цифровая последовательность
Здравствуйте, подскажите, как решить это задание. 1. Из своей фотографии размером 128х128 или...

Цифровая лицензия
Я тут почитал разные статьи и не понял- лицензия привязывается при вводе ключа? Или это абстрактное...

Цифровая подпись.
Есть данные. Надо вычислить хэш (SHA1) и подписать его (RSA) приватным ключем. Ключ в сертификате...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru