mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-11-27 01:48:17 +00:00
add Qt5 support for PinMatrixWidget
This commit is contained in:
parent
06cedd2150
commit
c86201dc5b
@ -1,9 +1,17 @@
|
|||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
import sys
|
import sys
|
||||||
import math
|
import math
|
||||||
from PyQt4.QtGui import (QPushButton, QLineEdit, QSizePolicy, QRegExpValidator, QLabel,
|
|
||||||
QApplication, QWidget, QGridLayout, QVBoxLayout, QHBoxLayout)
|
try:
|
||||||
from PyQt4.QtCore import QObject, SIGNAL, QRegExp, Qt
|
from PyQt4.QtGui import (QPushButton, QLineEdit, QSizePolicy, QRegExpValidator, QLabel,
|
||||||
|
QApplication, QWidget, QGridLayout, QVBoxLayout, QHBoxLayout)
|
||||||
|
from PyQt4.QtCore import QObject, SIGNAL, QRegExp, Qt, QT_VERSION_STR
|
||||||
|
except:
|
||||||
|
from PyQt5.QtWidgets import (QPushButton, QLineEdit, QSizePolicy, QLabel,
|
||||||
|
QApplication, QWidget, QGridLayout, QVBoxLayout, QHBoxLayout)
|
||||||
|
from PyQt5.QtGui import QRegExpValidator
|
||||||
|
from PyQt5.QtCore import QRegExp, Qt
|
||||||
|
from PyQt5.Qt import QT_VERSION_STR
|
||||||
|
|
||||||
class PinButton(QPushButton):
|
class PinButton(QPushButton):
|
||||||
def __init__(self, password, encoded_value):
|
def __init__(self, password, encoded_value):
|
||||||
@ -11,7 +19,12 @@ class PinButton(QPushButton):
|
|||||||
self.password = password
|
self.password = password
|
||||||
self.encoded_value = encoded_value
|
self.encoded_value = encoded_value
|
||||||
|
|
||||||
QObject.connect(self, SIGNAL('clicked()'), self._pressed)
|
if QT_VERSION_STR >= '5':
|
||||||
|
self.clicked.connect(self._pressed)
|
||||||
|
elif QT_VERSION_STR >= '4':
|
||||||
|
QObject.connect(self, SIGNAL('clicked()'), self._pressed)
|
||||||
|
else:
|
||||||
|
raise Exception('Unsupported Qt version')
|
||||||
|
|
||||||
def _pressed(self):
|
def _pressed(self):
|
||||||
self.password.setText(self.password.text() + str(self.encoded_value))
|
self.password.setText(self.password.text() + str(self.encoded_value))
|
||||||
@ -31,7 +44,13 @@ class PinMatrixWidget(QWidget):
|
|||||||
self.password = QLineEdit()
|
self.password = QLineEdit()
|
||||||
self.password.setValidator(QRegExpValidator(QRegExp('[1-9]+'), None))
|
self.password.setValidator(QRegExpValidator(QRegExp('[1-9]+'), None))
|
||||||
self.password.setEchoMode(QLineEdit.Password)
|
self.password.setEchoMode(QLineEdit.Password)
|
||||||
QObject.connect(self.password, SIGNAL('textChanged(QString)'), self._password_changed)
|
|
||||||
|
if QT_VERSION_STR >= '5':
|
||||||
|
self.password.textChanged.connect(self._password_changed)
|
||||||
|
elif QT_VERSION_STR >= '4':
|
||||||
|
QObject.connect(self.password, SIGNAL('textChanged(QString)'), self._password_changed)
|
||||||
|
else:
|
||||||
|
raise Exception('Unsupported Qt version')
|
||||||
|
|
||||||
self.strength = QLabel()
|
self.strength = QLabel()
|
||||||
self.strength.setMinimumWidth(75)
|
self.strength.setMinimumWidth(75)
|
||||||
@ -86,7 +105,7 @@ if __name__ == '__main__':
|
|||||||
'''
|
'''
|
||||||
Demo application showing PinMatrix widget in action
|
Demo application showing PinMatrix widget in action
|
||||||
'''
|
'''
|
||||||
a = QApplication(sys.argv)
|
app = QApplication(sys.argv)
|
||||||
|
|
||||||
matrix = PinMatrixWidget()
|
matrix = PinMatrixWidget()
|
||||||
|
|
||||||
@ -96,7 +115,12 @@ if __name__ == '__main__':
|
|||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
ok = QPushButton('OK')
|
ok = QPushButton('OK')
|
||||||
QObject.connect(ok, SIGNAL('clicked()'), clicked)
|
if QT_VERSION_STR >= '5':
|
||||||
|
ok.clicked.connect(clicked)
|
||||||
|
elif QT_VERSION_STR >= '4':
|
||||||
|
QObject.connect(ok, SIGNAL('clicked()'), clicked)
|
||||||
|
else:
|
||||||
|
raise Exception('Unsupported Qt version')
|
||||||
|
|
||||||
vbox = QVBoxLayout()
|
vbox = QVBoxLayout()
|
||||||
vbox.addWidget(matrix)
|
vbox.addWidget(matrix)
|
||||||
@ -107,4 +131,4 @@ if __name__ == '__main__':
|
|||||||
w.move(100, 100)
|
w.move(100, 100)
|
||||||
w.show()
|
w.show()
|
||||||
|
|
||||||
a.exec_()
|
app.exec_()
|
||||||
|
Loading…
Reference in New Issue
Block a user