qpuiq 0.15__py3-none-any.whl → 0.16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of qpuiq might be problematic. Click here for more details.
- PUI/PySide6/base.py +19 -0
- PUI/PySide6/canvas.py +13 -5
- PUI/PySide6/textfield.py +3 -5
- PUI/__init__.py +1 -1
- PUI/flet/textfield.py +3 -5
- PUI/textual/application.py +2 -2
- PUI/textual/textfield.py +10 -6
- PUI/tkinter/textfield.py +3 -5
- PUI/wx/base.py +2 -2
- PUI/wx/progressbar.py +2 -0
- PUI/wx/textfield.py +15 -6
- PUI/wx/window.py +6 -0
- {qpuiq-0.15.dist-info → qpuiq-0.16.dist-info}/METADATA +1 -1
- {qpuiq-0.15.dist-info → qpuiq-0.16.dist-info}/RECORD +17 -17
- {qpuiq-0.15.dist-info → qpuiq-0.16.dist-info}/WHEEL +0 -0
- {qpuiq-0.15.dist-info → qpuiq-0.16.dist-info}/licenses/LICENSE.txt +0 -0
- {qpuiq-0.15.dist-info → qpuiq-0.16.dist-info}/top_level.txt +0 -0
PUI/PySide6/base.py
CHANGED
|
@@ -186,6 +186,11 @@ class QtBaseLayout(PUINode):
|
|
|
186
186
|
super().destroy(direct)
|
|
187
187
|
|
|
188
188
|
def update(self, prev=None):
|
|
189
|
+
if prev and prev.ui:
|
|
190
|
+
self.mounted_children = prev.mounted_children
|
|
191
|
+
else:
|
|
192
|
+
self.mounted_children = []
|
|
193
|
+
|
|
189
194
|
super().update(prev)
|
|
190
195
|
_apply_params(self.ui, self)
|
|
191
196
|
|
|
@@ -194,6 +199,7 @@ class QtBaseLayout(PUINode):
|
|
|
194
199
|
from .layout import Spacer
|
|
195
200
|
if isinstance(child, Spacer):
|
|
196
201
|
self.qtlayout.insertItem(idx, child.outer)
|
|
202
|
+
self.mounted_children.insert(idx, child)
|
|
197
203
|
elif isinstance(child, Modal):
|
|
198
204
|
pass
|
|
199
205
|
elif isinstance(child, QtBaseWidget) or isinstance(child, QtBaseLayout):
|
|
@@ -201,16 +207,29 @@ class QtBaseLayout(PUINode):
|
|
|
201
207
|
if not child.layout_weight is None:
|
|
202
208
|
params["stretch"] = child.layout_weight
|
|
203
209
|
self.qtlayout.insertWidget(idx, child.outer, **params)
|
|
210
|
+
self.mounted_children.insert(idx, child)
|
|
204
211
|
|
|
205
212
|
def removeChild(self, idx, child):
|
|
206
213
|
from .modal import Modal
|
|
207
214
|
from .layout import Spacer
|
|
208
215
|
if isinstance(child, Spacer):
|
|
209
216
|
self.qtlayout.removeItem(child.outer)
|
|
217
|
+
self.mounted_children.pop(idx)
|
|
210
218
|
elif isinstance(child, Modal):
|
|
211
219
|
pass
|
|
212
220
|
elif isinstance(child, QtBaseWidget) or isinstance(child, QtBaseLayout):
|
|
213
221
|
child.outer.setParent(None)
|
|
222
|
+
self.mounted_children.pop(idx)
|
|
223
|
+
|
|
224
|
+
def postUpdate(self):
|
|
225
|
+
super().postUpdate()
|
|
226
|
+
|
|
227
|
+
for i, child in enumerate(self.mounted_children):
|
|
228
|
+
child = child.get_node()
|
|
229
|
+
self.mounted_children[i] = child.get_node()
|
|
230
|
+
|
|
231
|
+
weight = child.layout_weight
|
|
232
|
+
self.qtlayout.setStretch(i, weight if weight else 0)
|
|
214
233
|
|
|
215
234
|
def qt(self, **kwargs):
|
|
216
235
|
for k,v in kwargs.items():
|
PUI/PySide6/canvas.py
CHANGED
|
@@ -78,6 +78,12 @@ class PUIQtCanvas(QtWidgets.QWidget):
|
|
|
78
78
|
node.qpainter.end()
|
|
79
79
|
node.qpainter = None
|
|
80
80
|
|
|
81
|
+
class ImageResource():
|
|
82
|
+
def scale(self, width, height):
|
|
83
|
+
ir = ImageResource()
|
|
84
|
+
ir.qimage = self.qimage.scaled(width, height)
|
|
85
|
+
return ir
|
|
86
|
+
|
|
81
87
|
class Canvas(QtBaseWidget):
|
|
82
88
|
def __init__(self, painter, *args):
|
|
83
89
|
super().__init__()
|
|
@@ -300,16 +306,18 @@ class Canvas(QtBaseWidget):
|
|
|
300
306
|
raise RuntimeError(f"Not implemented: drawShapely({type(shape).__name__}) {dir(shape)}")
|
|
301
307
|
|
|
302
308
|
def loadImage(self, image_path):
|
|
303
|
-
|
|
309
|
+
ir = ImageResource()
|
|
310
|
+
ir.qimage = QImage(image_path)
|
|
311
|
+
return ir
|
|
304
312
|
|
|
305
313
|
def drawImage(self, image, x=0, y=0, width=None, height=None, src_x=0, src_y=0, src_width=None, src_height=None, opacity=1.0):
|
|
306
|
-
if image.isNull():
|
|
314
|
+
if image.qimage.isNull():
|
|
307
315
|
return
|
|
308
316
|
|
|
309
317
|
if src_width is None:
|
|
310
|
-
src_width = image.width() - src_x
|
|
318
|
+
src_width = image.qimage.width() - src_x
|
|
311
319
|
if src_height is None:
|
|
312
|
-
src_height = image.height() - src_y
|
|
320
|
+
src_height = image.qimage.height() - src_y
|
|
313
321
|
|
|
314
322
|
source_rect = QtCore.QRect(src_x, src_y, src_width, src_height)
|
|
315
323
|
|
|
@@ -320,5 +328,5 @@ class Canvas(QtBaseWidget):
|
|
|
320
328
|
|
|
321
329
|
dest_rect = QtCore.QRect(x, y, width, height)
|
|
322
330
|
self.qpainter.setOpacity(opacity)
|
|
323
|
-
self.qpainter.drawImage(dest_rect, image, source_rect)
|
|
331
|
+
self.qpainter.drawImage(dest_rect, image.qimage, source_rect)
|
|
324
332
|
self.qpainter.setOpacity(1.0)
|
PUI/PySide6/textfield.py
CHANGED
|
@@ -35,7 +35,7 @@ class TextField(QtBaseWidget):
|
|
|
35
35
|
|
|
36
36
|
super().update(prev)
|
|
37
37
|
|
|
38
|
-
def on_editing_finished(self):
|
|
38
|
+
def on_editing_finished(self): # finish editing
|
|
39
39
|
node = self.get_node()
|
|
40
40
|
node.editing = False
|
|
41
41
|
value = self.ui.text()
|
|
@@ -51,14 +51,12 @@ class TextField(QtBaseWidget):
|
|
|
51
51
|
self._change(e)
|
|
52
52
|
node.ui.clearFocus()
|
|
53
53
|
|
|
54
|
-
def on_textchanged(self):
|
|
54
|
+
def on_textchanged(self): # editing
|
|
55
55
|
node = self.get_node()
|
|
56
|
+
self.editing = True
|
|
56
57
|
value = self.ui.text()
|
|
57
58
|
if node.edit_model:
|
|
58
|
-
node.editing = True
|
|
59
59
|
node.edit_model.value = value
|
|
60
|
-
else:
|
|
61
|
-
node.model.value = value
|
|
62
60
|
e = PUIEvent()
|
|
63
61
|
e.value = value
|
|
64
62
|
self._input(e)
|
PUI/__init__.py
CHANGED
PUI/flet/textfield.py
CHANGED
|
@@ -30,19 +30,17 @@ class TextField(FBase):
|
|
|
30
30
|
|
|
31
31
|
super().update(prev)
|
|
32
32
|
|
|
33
|
-
def on_textbox_changed(self, e):
|
|
33
|
+
def on_textbox_changed(self, e): # editing
|
|
34
34
|
node = self.get_node()
|
|
35
|
+
node.editing = True
|
|
35
36
|
value = e.control.value
|
|
36
37
|
if node.edit_model:
|
|
37
|
-
node.editing = True
|
|
38
38
|
node.edit_model.value = value
|
|
39
|
-
else:
|
|
40
|
-
node.model.value = value
|
|
41
39
|
e = PUIEvent()
|
|
42
40
|
e.value = value
|
|
43
41
|
self._input(e)
|
|
44
42
|
|
|
45
|
-
def on_change(self, e):
|
|
43
|
+
def on_change(self, e): # finish editing
|
|
46
44
|
node = self.get_node()
|
|
47
45
|
node.editing = False
|
|
48
46
|
value = e.control.value
|
PUI/textual/application.py
CHANGED
|
@@ -22,10 +22,10 @@ class PUITextualApp(App):
|
|
|
22
22
|
event.radio_button.puinode.get_node()._changed(event.value)
|
|
23
23
|
|
|
24
24
|
def on_input_changed(self, event: Input.Changed) -> None:
|
|
25
|
-
event.input.puinode.get_node().
|
|
25
|
+
event.input.puinode.get_node()._tchanged(event.value)
|
|
26
26
|
|
|
27
27
|
def on_input_submitted(self, event: Input.Submitted) -> None:
|
|
28
|
-
event.input.puinode.get_node().
|
|
28
|
+
event.input.puinode.get_node()._tsubmitted(event.value)
|
|
29
29
|
|
|
30
30
|
def on_checkbox_changed(self, event: Checkbox.Changed) -> None:
|
|
31
31
|
event.checkbox.puinode.get_node()._changed(event.value)
|
PUI/textual/textfield.py
CHANGED
|
@@ -11,16 +11,20 @@ class TextField(TBase):
|
|
|
11
11
|
|
|
12
12
|
def update(self, prev):
|
|
13
13
|
model_value = str(self.model.value)
|
|
14
|
+
|
|
14
15
|
if prev and prev.ui:
|
|
15
16
|
self.editing = prev.editing
|
|
16
17
|
self.ui = prev.ui
|
|
17
18
|
self.curr_value = prev.curr_value
|
|
19
|
+
self.changing = prev.changing
|
|
18
20
|
|
|
19
21
|
if self.curr_value.set(model_value) and not self.editing:
|
|
22
|
+
self.changing = True # block changed event from next line
|
|
20
23
|
self.ui.value = model_value
|
|
21
24
|
else:
|
|
22
25
|
self.ui = widgets.Input(model_value)
|
|
23
26
|
self.curr_value = Prop(model_value)
|
|
27
|
+
self.changing = True # block changed event from initialization
|
|
24
28
|
|
|
25
29
|
if self.edit_model and not self.editing:
|
|
26
30
|
self.edit_model.value = model_value
|
|
@@ -28,19 +32,19 @@ class TextField(TBase):
|
|
|
28
32
|
self.ui.puinode = self
|
|
29
33
|
super().update(prev)
|
|
30
34
|
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
def _tchanged(self, value): # editing
|
|
36
|
+
if self.changing:
|
|
37
|
+
self.changing = False
|
|
38
|
+
return
|
|
33
39
|
node = self.get_node()
|
|
40
|
+
node.editing = True
|
|
34
41
|
if node.edit_model:
|
|
35
|
-
node.editing = True
|
|
36
42
|
node.edit_model.value = value
|
|
37
|
-
else:
|
|
38
|
-
node.model.value = value
|
|
39
43
|
e = PUIEvent()
|
|
40
44
|
e.value = value
|
|
41
45
|
self._input(e)
|
|
42
46
|
|
|
43
|
-
def
|
|
47
|
+
def _tsubmitted(self, value): # finish editing
|
|
44
48
|
node = self.get_node()
|
|
45
49
|
node.editing = False
|
|
46
50
|
node.model.value = value
|
PUI/tkinter/textfield.py
CHANGED
|
@@ -30,16 +30,14 @@ class TextField(TkBaseWidget):
|
|
|
30
30
|
|
|
31
31
|
super().update(prev)
|
|
32
32
|
|
|
33
|
-
def on_variable_changed(self, var, index, mode):
|
|
33
|
+
def on_variable_changed(self, var, index, mode): # editing
|
|
34
34
|
node = self.get_node()
|
|
35
|
+
node.editing = True
|
|
35
36
|
if node.edit_model:
|
|
36
|
-
node.editing = True
|
|
37
37
|
node.edit_model.value = self.variable.get()
|
|
38
|
-
else:
|
|
39
|
-
node.model.value = self.variable.get()
|
|
40
38
|
self._input()
|
|
41
39
|
|
|
42
|
-
def on_change(self):
|
|
40
|
+
def on_change(self): # finish editing
|
|
43
41
|
node = self.get_node()
|
|
44
42
|
node.editing = False
|
|
45
43
|
value = self.variable.get()
|
PUI/wx/base.py
CHANGED
|
@@ -193,9 +193,9 @@ class WxBaseLayout(WXBase):
|
|
|
193
193
|
|
|
194
194
|
weight = child.layout_weight
|
|
195
195
|
if self.container_x and child.expand_x:
|
|
196
|
-
si.SetProportion(weight if weight else 1 if child.expand_x
|
|
196
|
+
si.SetProportion(weight if weight else 1 if child.expand_x else 0)
|
|
197
197
|
elif self.container_y and child.expand_y:
|
|
198
|
-
si.SetProportion(weight if weight else 1 if child.expand_y
|
|
198
|
+
si.SetProportion(weight if weight else 1 if child.expand_y else 0)
|
|
199
199
|
|
|
200
200
|
p = 0
|
|
201
201
|
if child.layout_padding:
|
PUI/wx/progressbar.py
CHANGED
PUI/wx/textfield.py
CHANGED
|
@@ -21,10 +21,11 @@ class TextField(WxBaseWidget):
|
|
|
21
21
|
self.ui.SetValue(model_value)
|
|
22
22
|
else:
|
|
23
23
|
self.curr_value = Prop(model_value)
|
|
24
|
-
self.ui = wx.TextCtrl(getWindow(self.parent))
|
|
24
|
+
self.ui = wx.TextCtrl(getWindow(self.parent), style=wx.TE_PROCESS_ENTER)
|
|
25
25
|
self.ui.SetValue(model_value)
|
|
26
26
|
self.ui.Bind(wx.EVT_TEXT, self.on_textchanged)
|
|
27
27
|
self.ui.Bind(wx.EVT_KILL_FOCUS, self.on_kill_focus)
|
|
28
|
+
self.ui.Bind(wx.EVT_TEXT_ENTER, self.on_enter)
|
|
28
29
|
|
|
29
30
|
self.ui.SetMinSize((self.layout_width, self.layout_height))
|
|
30
31
|
|
|
@@ -33,7 +34,17 @@ class TextField(WxBaseWidget):
|
|
|
33
34
|
|
|
34
35
|
super().update(prev)
|
|
35
36
|
|
|
36
|
-
def
|
|
37
|
+
def on_enter(self, event):
|
|
38
|
+
from .window import Window
|
|
39
|
+
p = self.parent
|
|
40
|
+
while p:
|
|
41
|
+
if isinstance(p, Window):
|
|
42
|
+
p.panel.SetFocus()
|
|
43
|
+
break
|
|
44
|
+
p = p.parent
|
|
45
|
+
event.Skip()
|
|
46
|
+
|
|
47
|
+
def on_textchanged(self, event): # editing
|
|
37
48
|
node = self.get_node()
|
|
38
49
|
node.editing = True
|
|
39
50
|
value = self.ui.GetValue()
|
|
@@ -43,15 +54,13 @@ class TextField(WxBaseWidget):
|
|
|
43
54
|
e.value = value
|
|
44
55
|
self._input(e)
|
|
45
56
|
|
|
46
|
-
def on_kill_focus(self,
|
|
57
|
+
def on_kill_focus(self, event): # finish editing
|
|
47
58
|
node = self.get_node()
|
|
59
|
+
node.editing = False
|
|
48
60
|
value = self.ui.GetValue()
|
|
49
61
|
node.model.value = value
|
|
50
62
|
if node.edit_model:
|
|
51
|
-
node.editing = True
|
|
52
63
|
node.edit_model.value = value
|
|
53
|
-
else:
|
|
54
|
-
node.model.value = value
|
|
55
64
|
e = PUIEvent()
|
|
56
65
|
e.value = value
|
|
57
66
|
self._change(e)
|
PUI/wx/window.py
CHANGED
|
@@ -16,15 +16,21 @@ class Window(WxBaseWidget):
|
|
|
16
16
|
self.fullscreen = fullscreen
|
|
17
17
|
self.curr_fullscreen = None
|
|
18
18
|
|
|
19
|
+
@property
|
|
20
|
+
def inner(self):
|
|
21
|
+
return self.panel
|
|
22
|
+
|
|
19
23
|
def update(self, prev=None):
|
|
20
24
|
if prev and prev.ui:
|
|
21
25
|
self.ui = prev.ui
|
|
26
|
+
self.panel = prev.panel
|
|
22
27
|
self.curr_icon = prev.curr_icon
|
|
23
28
|
self.curr_size = prev.curr_size
|
|
24
29
|
self.curr_maximize = prev.curr_maximize
|
|
25
30
|
self.curr_fullscreen = prev.curr_fullscreen
|
|
26
31
|
else:
|
|
27
32
|
self.ui = wx.Frame(None)
|
|
33
|
+
self.panel = wx.Panel(self.ui) # to grab focus when clicked
|
|
28
34
|
self.curr_icon = Prop()
|
|
29
35
|
self.curr_size = Prop()
|
|
30
36
|
self.curr_maximize = Prop()
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
PUI/__init__.py,sha256=
|
|
1
|
+
PUI/__init__.py,sha256=3BShn__8Wpr8flOXyM3C8xPyT7q-6XN_X1TTWZYNKyw,966
|
|
2
2
|
PUI/common.py,sha256=fUJmHOu5lSCeiOhFDF6YqulJxFqWmsneqnDZ2kZFFmM,581
|
|
3
3
|
PUI/decorator.py,sha256=BN3POYv69QCDomoHENN-UA-d4wY_vfARIb5RJ2qEnS8,483
|
|
4
4
|
PUI/dom.py,sha256=RgdDyv6vSFgkCoj9G2cjzQQOiymG8DwmmSoAZfxYvJM,10141
|
|
@@ -10,9 +10,9 @@ PUI/utils.py,sha256=canb7_Uz0sQ1UZDzyDuIsfAVXzEfZCkc9F81sMY4rTE,505
|
|
|
10
10
|
PUI/view.py,sha256=Oe6sXLHD554GnlLlO5QpY7kegngkzrmMEYRHrdzGZUQ,4623
|
|
11
11
|
PUI/PySide6/__init__.py,sha256=z895ldBVUaEqfGQW4CvYhWh2F6L0qGQA1MXUHVMf9Ms,1110
|
|
12
12
|
PUI/PySide6/application.py,sha256=OsIE47efST4I13txD-7rS1cTWAGhynckl45Wdb1bafk,1471
|
|
13
|
-
PUI/PySide6/base.py,sha256=
|
|
13
|
+
PUI/PySide6/base.py,sha256=zhRrm5vDkieIXTEKpBRkVjSxfm0yBW-yMrqoMDw0Gvg,8564
|
|
14
14
|
PUI/PySide6/button.py,sha256=mHfcH98dABYgksuT58fK0amSwtCM9aaYwr7Y2EArEJA,561
|
|
15
|
-
PUI/PySide6/canvas.py,sha256=
|
|
15
|
+
PUI/PySide6/canvas.py,sha256=NpfyW0YpRQ9wWpWwKuMKRDPWBDXVdCIAg7QJcXPoNaM,10657
|
|
16
16
|
PUI/PySide6/checkbox.py,sha256=Rsns0BleE4g9yTDdlsD8IADU3qcQkVO2VsFVvYlNL88,900
|
|
17
17
|
PUI/PySide6/combobox.py,sha256=4FvMt8D9MSyGk_oNHZ0jDuop7A-dkrxEesUXMdKghuw,2503
|
|
18
18
|
PUI/PySide6/dialog.py,sha256=4rAyLMqd47ALDxrBGLFHS5FD75SP1I8tkMSKBdaPkv0,2364
|
|
@@ -31,7 +31,7 @@ PUI/PySide6/splitter.py,sha256=ObjcC8UgkAL7o-xXhi4XIkDEKhC4s5Ukk7tKMNa023Q,797
|
|
|
31
31
|
PUI/PySide6/tab.py,sha256=tMkhEfD4Wb_7Hs4-u4nOzm87GSHqmehcnwcFm24qRIg,953
|
|
32
32
|
PUI/PySide6/table.py,sha256=TTCMf_YNKmkFiqs_qLqw3qbvFsxoBNnz9VMObx_2l3s,4800
|
|
33
33
|
PUI/PySide6/text.py,sha256=4kRRZiuH-bLLJMNZ6hK9zAWOorsG-l4uujHbG6I5S20,1069
|
|
34
|
-
PUI/PySide6/textfield.py,sha256=
|
|
34
|
+
PUI/PySide6/textfield.py,sha256=mjaQErUTqJ1VUeWXLfzoInTbCuKICX5o-tXAAQQS04s,2112
|
|
35
35
|
PUI/PySide6/toolbar.py,sha256=NPkn99D5xK4RLBA0vxLD7EqYu5eh9ucCL2y1vSJWQl4,1800
|
|
36
36
|
PUI/PySide6/tree.py,sha256=skMsCykh8kWXFTg4Yv--PevJ58fqEeZV566ICjBVO4E,9324
|
|
37
37
|
PUI/PySide6/window.py,sha256=8_Y1DV_KobKeh5TS4VP9MV1hluz7pJr8jNakTVyrQlM,2845
|
|
@@ -48,10 +48,10 @@ PUI/flet/radiobutton.py,sha256=IrgP_SvOImhZvFAZ6ZeAXv6KTUw3bEaGAIsxfODiO9I,830
|
|
|
48
48
|
PUI/flet/scroll.py,sha256=B2IKoE6yo5CB8BykH_wAh3hbEavTnboYtajdknpp3b4,2212
|
|
49
49
|
PUI/flet/tab.py,sha256=T26PZ-Ma_LPUx7u9qbxEnYqxuR1-qlytWiB9TDpu7G8,997
|
|
50
50
|
PUI/flet/text.py,sha256=HGnhOTDwG5pqceK8x_C6wCZj1AKuqZ9vEZB_NFwXZo4,1465
|
|
51
|
-
PUI/flet/textfield.py,sha256=
|
|
51
|
+
PUI/flet/textfield.py,sha256=1N3WwKrDkTkQGtA8pNAXeSL-CZhfpg1TDYhFFjbhnL0,1774
|
|
52
52
|
PUI/flet/window.py,sha256=NqUnGYvhk2Mpo_G2WthZOEvlU6VMx6AM-jWMKcUqGDM,650
|
|
53
53
|
PUI/textual/__init__.py,sha256=cPf0_BXd2Q-6w-0UHyxFQ6QLfTVDaoo7XmSCW_1kpyc,732
|
|
54
|
-
PUI/textual/application.py,sha256=
|
|
54
|
+
PUI/textual/application.py,sha256=ot7H0RRNf65PU9tF6EU6x2qLq7Yhv9tCA9Q4ZyZ7doo,2516
|
|
55
55
|
PUI/textual/base.py,sha256=W0tfxGlZErrsCoLb9IuFjgmNa93vZFCYNgZr1V6VEjE,4821
|
|
56
56
|
PUI/textual/button.py,sha256=VF7fmgi5mHeOzptZzy4oBfcuCeUURq5eFrLvN4Fgg30,436
|
|
57
57
|
PUI/textual/checkbox.py,sha256=pkBxZz0qXl2KUz2-Lqap-r2Y3DBI0CET3wQgEpYKb7U,518
|
|
@@ -62,7 +62,7 @@ PUI/textual/radiobutton.py,sha256=zFKG2LeUnPXnxpxeW3cYqPwd91DQZWFUctundau-4b0,62
|
|
|
62
62
|
PUI/textual/scroll.py,sha256=u6-tFygXZR_giVsCaePahKxTb0xTbdBHCNisQA9jpWc,1974
|
|
63
63
|
PUI/textual/tab.py,sha256=wcvyH1MZZNwwout8iJDifty_lqe6YuhfRpE3F0lUTBM,2158
|
|
64
64
|
PUI/textual/text.py,sha256=BHvgK3JqBU_LrnWbaaKBFxQ_50Z9lFhcdEJoVJqbcSc,782
|
|
65
|
-
PUI/textual/textfield.py,sha256=
|
|
65
|
+
PUI/textual/textfield.py,sha256=SVSOfVcdr0XtI9jyDwWgxDX5umSEbqL7_f7XC76A6Ak,1656
|
|
66
66
|
PUI/textual/window.py,sha256=ygb1txNlo2bjQkKVzSD4UgU2OTzJ-zeEjM0p8wcYZJA,181
|
|
67
67
|
PUI/tkinter/__init__.py,sha256=VQjdak9UO-zI7n9Kr4q_B-kgCXgag2DVoWWP_QdH2uk,982
|
|
68
68
|
PUI/tkinter/application.py,sha256=NxWfU9NHJuceKMdLiGeklUKU5WjYVUomGL_hJpRtrbs,1141
|
|
@@ -77,11 +77,11 @@ PUI/tkinter/radiobutton.py,sha256=RBcC9u9v1N5RDTn6GxEwbJr0kYh43j-r7zB6Ic1pIqI,75
|
|
|
77
77
|
PUI/tkinter/scroll.py,sha256=MhBuGcKRlqiMiNG1I5bI_wCJT4rwLQbB4ViOsXHcdi8,6685
|
|
78
78
|
PUI/tkinter/tab.py,sha256=-1r95U0q3hnSLokD1QU3hsQ2wiDteZ6KZwula7rwbVQ,1426
|
|
79
79
|
PUI/tkinter/text.py,sha256=5IJOD86iodYqUD-lFnLUnD4vYvUw-8wUPoLNq_RuBsA,501
|
|
80
|
-
PUI/tkinter/textfield.py,sha256
|
|
80
|
+
PUI/tkinter/textfield.py,sha256=R4YNLfoxC7VSCuAFyVqaqKPTno7fUGO1u5YjkMrQ1Zk,1746
|
|
81
81
|
PUI/tkinter/window.py,sha256=IIieSxxanhGIvPy0krQuLrStsL_jTUdx6TKbEf64nyQ,1606
|
|
82
82
|
PUI/wx/__init__.py,sha256=j8L1kzL4CK_xeF0x5_NZekGETYP_1Dhq3-BuV1LtXoY,391
|
|
83
83
|
PUI/wx/application.py,sha256=Ku_mloCyiw-KTl8a09uTIhV7uupG_7urqw8jXIwQMLc,965
|
|
84
|
-
PUI/wx/base.py,sha256=
|
|
84
|
+
PUI/wx/base.py,sha256=geBeTK_iyBC_0Wj7rK4tX6FZY4i5_MYAU52wERxv3rg,7594
|
|
85
85
|
PUI/wx/button.py,sha256=ww3Iyn16zomP4zkQhvXTirmHBvlVMJxmiV1pfXtgrSo,447
|
|
86
86
|
PUI/wx/canvas.py,sha256=uL4z0ghM15IWNlvmDyV3lVw8Li4RNMJWXHvwd7jZSiw,8487
|
|
87
87
|
PUI/wx/checkbox.py,sha256=XgLxsi-tk2f9bnlEvhvEZV4boBGFB3u62ZE1cs8X9tU,674
|
|
@@ -90,14 +90,14 @@ PUI/wx/dialog.py,sha256=HVLVdzRkZhRndkHTYl0RgNfzIQBdtik7DIDg93Dp9JA,2572
|
|
|
90
90
|
PUI/wx/divider.py,sha256=qnaUVpspAOND6YhZyQsZeos1LC02L-ljfdAtVp1vdzw,516
|
|
91
91
|
PUI/wx/label.py,sha256=qr3hGfHtjvYjeXJSB2cD5u30LYodEzix4Q0FYw8p6p0,509
|
|
92
92
|
PUI/wx/layout.py,sha256=nVO31_Xu4aDcTLxlz66DJ5PK2RPHk0yq6qdzyWuGVz8,1460
|
|
93
|
-
PUI/wx/progressbar.py,sha256=
|
|
93
|
+
PUI/wx/progressbar.py,sha256=OXLZRiBy9oYzBiI-mhQhARcoeSoawEa1Ur8b0CjWr2U,495
|
|
94
94
|
PUI/wx/radiobutton.py,sha256=x7WnCGXuNPV98MqF-tRLzMOOExim22rayNL8jAYVZWk,769
|
|
95
95
|
PUI/wx/scroll.py,sha256=pvRmt04XEgObpIgwl9i52Kf1wI9ubUfZM77fPHGW9zU,1494
|
|
96
96
|
PUI/wx/text.py,sha256=YeIyDyHH0xBcD_iXbYSTtvL25YDtug1QJNVPvCSAqEk,544
|
|
97
|
-
PUI/wx/textfield.py,sha256=
|
|
98
|
-
PUI/wx/window.py,sha256=
|
|
99
|
-
qpuiq-0.
|
|
100
|
-
qpuiq-0.
|
|
101
|
-
qpuiq-0.
|
|
102
|
-
qpuiq-0.
|
|
103
|
-
qpuiq-0.
|
|
97
|
+
PUI/wx/textfield.py,sha256=v3cSnmsyBix_G8xFXgZZrNLydlLTA6gQQPpkTdJ29hk,2086
|
|
98
|
+
PUI/wx/window.py,sha256=HBiWRpuhjSS89pjbdlbstjQmfR0mSECTsOPLu7ymLjo,2017
|
|
99
|
+
qpuiq-0.16.dist-info/licenses/LICENSE.txt,sha256=1Xwik2AmLNGoIYhAPzvNC28M08Q3EvkOe4TtlQuSd_E,1072
|
|
100
|
+
qpuiq-0.16.dist-info/METADATA,sha256=FD9q5IlhlI9XqZX3ov-S568x9CRaPNHw2zv5rAyKtYQ,5994
|
|
101
|
+
qpuiq-0.16.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
|
102
|
+
qpuiq-0.16.dist-info/top_level.txt,sha256=zMudhifPite0CEVGYvdi-5W3P_dpum71xjU7_g-ZHS0,4
|
|
103
|
+
qpuiq-0.16.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|