From ce7b100568eb8f411366f2a19f1b89de24d74c77 Mon Sep 17 00:00:00 2001 From: Florent Gallaire Date: Sun, 6 Nov 2016 05:11:39 +0100 Subject: [PATCH] Add label icon support --- examples/simple.py | 2 +- examples/volume.png | Bin 0 -> 694 bytes formlayout.py | 20 ++++++++++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 examples/volume.png diff --git a/examples/simple.py b/examples/simple.py index d706d4e..ca77066 100644 --- a/examples/simple.py +++ b/examples/simple.py @@ -19,7 +19,7 @@ (None, 'Information:'), ('Password', 'password'), ('Age', 30), - ('Strength', 'slider'), + ('volume.png', 'slider'), ('Sex', [0, 'Male', 'Female']), ('Sex', (0, 'Male', 'Female')), ('Size', 12.1), diff --git a/examples/volume.png b/examples/volume.png new file mode 100644 index 0000000000000000000000000000000000000000..e92cdb8cbfb45ba12bbf8ed5df02a99c4408d74e GIT binary patch literal 694 zcmV;n0!jUeP)RY-@Xzzp0!=eDd_g2CTs+o5a&Xbo@MU2HQSMAv(k29r5RCi>q#Rl_ zxo9D_%N7YLDhx5qu1=a2is&X#M21NmgracVoChAq$C-I1z3}6{oO{0a-19x>+#j=O z5z%w}L|a5W9}&;>dw6S>mM_F5tjf$q-SW(QM5lYLnGU=*F2SF86%XB@0~8T=BVsZl zc41z(am{q#5z)p)ET7IbIE)D#!_kOnmHxvn>L`_PDSpN)Q><=v?ca%&nfZA{tiumz zk8j zh$C!{8LJ6uxy6t`U=CDc_Jb<<9BSshnYDT5np0223ip@*=I^D!+4F4XXdWr zYrJmrPDS1g9BTSaxXk^wrzJvK#g%b@v#Z~-P-}o#@ z{u(+4KPT18?B(S$OPR zf&YT-Rc*h=eSDFbW6jiJSCw=et8smX1NP$M%#13EBX|iTnK`7$=vCik=ADRm8>jK| zV@mpWHU12rR1SQDJ)J$x41``Oca8Osbx%9syQ>~ecHWeJpUefBxu%~dv)@O5;ZynJ c_&*>I0Pj)VceZFAWB>pF07*qoM6N<$g0zD|wg3PC literal 0 HcmV?d00001 diff --git a/formlayout.py b/formlayout.py index 0153078..55812d7 100644 --- a/formlayout.py +++ b/formlayout.py @@ -553,6 +553,9 @@ def get_dialog(self): return dialog def setup(self): + global img_fmt + img_fmt = tuple(['.'+str(bytes(ext).decode()) for ext + in QImageReader.supportedImageFormats()]) for label, value in self.data: if DEBUG_FORMLAYOUT: print("value:", value) @@ -569,8 +572,6 @@ def setup(self): field = PushLayout(value, self) self.formlayout.addRow(field) else: - img_fmt = tuple(['.'+str(bytes(ext).decode()) for ext - in QImageReader.supportedImageFormats()]) if value.endswith(img_fmt): # Image pixmap = QPixmap(value) @@ -752,10 +753,16 @@ def setup(self): style = "background-color:" + self.widget_color + ";" field.setStyleSheet(style) + if label.endswith(img_fmt): + pixmap = QPixmap(label) + label = QLabel() + label.setPixmap(pixmap) + else: + label = QLabel(label) if self.type == 'form': self.formlayout.addRow(label, field) elif self.type == 'questions': - self.formlayout.addRow(QLabel(label)) + self.formlayout.addRow(label) self.formlayout.addRow(field) self.widgets.append(field) @@ -856,7 +863,12 @@ def get(self): if label.endswith(' *'): label = label[:-2] required = 'true' - child = ET.SubElement(form, label) + if label.endswith(img_fmt): + rdot = label.rfind('.') + child = ET.SubElement(form, label[:rdot]) + child.attrib['format'] = label[rdot+1:] + else: + child = ET.SubElement(form, label) if isinstance(value, tuple): child.text = to_text_string(value[0]) child.attrib['amount'] = to_text_string(value[1])