def __init__(self, exchanger): QWidget.__init__(self) self.exchanger = exchanger self.setWindowTitle('Electrum - '+_('Invoice')) self.setMinimumSize(800, 250) self.address = '' self.label = '' self.amount = 0 self.setFocusPolicy(QtCore.Qt.NoFocus) main_box = QHBoxLayout() self.qrw = QRCodeWidget() main_box.addWidget(self.qrw, 1) vbox = QVBoxLayout() main_box.addLayout(vbox) self.address_label = QLabel("") #self.address_label.setFont(QFont(MONOSPACE_FONT)) vbox.addWidget(self.address_label) self.label_label = QLabel("") vbox.addWidget(self.label_label) self.amount_label = QLabel("") vbox.addWidget(self.amount_label) vbox.addStretch(1) self.setLayout(main_box)
class QR_Window(QWidget): def __init__(self, exchanger): QWidget.__init__(self) self.exchanger = exchanger self.setWindowTitle('Electrum - '+_('Invoice')) self.setMinimumSize(800, 250) self.address = '' self.label = '' self.amount = 0 self.setFocusPolicy(QtCore.Qt.NoFocus) main_box = QHBoxLayout() self.qrw = QRCodeWidget() main_box.addWidget(self.qrw, 1) vbox = QVBoxLayout() main_box.addLayout(vbox) self.address_label = QLabel("") #self.address_label.setFont(QFont(MONOSPACE_FONT)) vbox.addWidget(self.address_label) self.label_label = QLabel("") vbox.addWidget(self.label_label) self.amount_label = QLabel("") vbox.addWidget(self.amount_label) vbox.addStretch(1) self.setLayout(main_box) def set_content(self, addr, label, amount, currency): self.address = addr address_text = "<span style='font-size: 18pt'>%s</span>" % addr if addr else "" self.address_label.setText(address_text) if currency == 'VIOR': currency = None amount_text = '' if amount: if currency: try: self.amount = Decimal(amount) / self.exchanger.exchange(1, currency) if currency else amount except Exception: self.amount = None else: self.amount = Decimal(amount) self.amount = self.amount.quantize(Decimal('1.0000')) if currency: amount_text += "<span style='font-size: 18pt'>%s %s</span><br/>" % (amount, currency) amount_text += "<span style='font-size: 21pt'>%s</span> <span style='font-size: 16pt'>VIOR</span> " % str(self.amount) else: self.amount = None self.amount_label.setText(amount_text) self.label = label label_text = "<span style='font-size: 21pt'>%s</span>" % label if label else "" self.label_label.setText(label_text) msg = 'viorcoin:'+self.address if self.amount is not None: msg += '?amount=%s'%(str( self.amount)) if self.label is not None: encoded_label = quote(self.label) msg += '&label=%s'%(encoded_label) elif self.label is not None: encoded_label = quote(self.label) msg += '?label=%s'%(encoded_label) self.qrw.set_addr( msg )