tkfluent 0.0.4__py3-none-any.whl → 0.0.6__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.
tkflu/togglebutton.py CHANGED
@@ -4,25 +4,34 @@ from tkdeft.windows.drawwidget import DDrawWidget
4
4
 
5
5
 
6
6
  class FluToggleButtonDraw(DSvgDraw):
7
- def create_roundrect(self,
8
- x1, y1, x2, y2, radius, radiusy=None, temppath=None,
9
- fill="transparent", outline="black", outline2="black", width=1
10
- ):
7
+ def create_roundrect_with_text(self,
8
+ x1, y1, x2, y2, radius, radiusy=None, temppath=None,
9
+ fill="transparent", fill_opacity=1,
10
+ outline="black", outline2=None, outline_opacity=1, outline2_opacity=1, width=1,
11
+ ):
11
12
  if radiusy:
12
13
  _rx = radius
13
14
  _ry = radiusy
14
15
  else:
15
16
  _rx, _ry = radius, radius
16
17
  drawing = self.create_drawing(x2 - x1, y2 - y1, temppath=temppath)
17
- border = drawing[1].linearGradient(start=(x1, y1), end=(x1, y2), id="DToggleButton.Border")
18
- border.add_stop_color("0%", outline)
19
- border.add_stop_color("100%", outline2)
20
- drawing[1].defs.add(border)
18
+ if outline2:
19
+ border = drawing[1].linearGradient(start=(x1, y1), end=(x1, y2), id="DButton.Border",
20
+ gradientUnits="userSpaceOnUse")
21
+ border.add_stop_color("0.9", outline, outline_opacity)
22
+ border.add_stop_color("1", outline2, outline2_opacity)
23
+ drawing[1].defs.add(border)
24
+ stroke = f"url(#{border.get_id()})"
25
+ stroke_opacity = 1
26
+ else:
27
+ stroke = outline
28
+ stroke_opacity = outline_opacity
21
29
  drawing[1].add(
22
30
  drawing[1].rect(
23
31
  (x1, y1), (x2 - x1, y2 - y1), _rx, _ry,
24
- fill=fill, stroke_width=width,
25
- stroke=f"url(#{border.get_id()})",
32
+ fill=fill, fill_opacity=fill_opacity,
33
+ stroke=stroke, stroke_width=width, stroke_opacity=stroke_opacity,
34
+ transform="translate(0.500000 0.500000)"
26
35
  )
27
36
  )
28
37
  drawing[1].save()
@@ -32,18 +41,22 @@ class FluToggleButtonDraw(DSvgDraw):
32
41
  class FluToggleButtonCanvas(DCanvas):
33
42
  draw = FluToggleButtonDraw
34
43
 
35
- def create_round_rectangle(self,
36
- x1, y1, x2, y2, r1, r2=None, temppath=None,
37
- fill="transparent", outline="black", outline2="black", width=1
38
- ):
39
- self._img = self.svgdraw.create_roundrect(
44
+ def create_round_rectangle_with_text(self,
45
+ x1, y1, x2, y2, r1, r2=None, temppath=None,
46
+ fill="transparent", fill_opacity=1,
47
+ outline="black", outline2="black", outline_opacity=1, outline2_opacity=1,
48
+ width=1,
49
+ ):
50
+ self._img = self.svgdraw.create_roundrect_with_text(
40
51
  x1, y1, x2, y2, r1, r2, temppath=temppath,
41
- fill=fill, outline=outline, outline2=outline2, width=width
52
+ fill=fill, fill_opacity=fill_opacity,
53
+ outline=outline, outline2=outline2, outline_opacity=outline_opacity, outline2_opacity=outline2_opacity,
54
+ width=width,
42
55
  )
43
56
  self._tkimg = self.svgdraw.create_tksvg_image(self._img)
44
57
  return self.create_image(x1, y1, anchor="nw", image=self._tkimg)
45
58
 
46
- create_roundrect = create_round_rectangle
59
+ create_roundrect = create_round_rectangle_with_text
47
60
 
48
61
 
49
62
  class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
@@ -54,7 +67,7 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
54
67
  command=None,
55
68
  font=None,
56
69
  mode="light",
57
- style="standard",
70
+ state="normal",
58
71
  **kwargs):
59
72
  self._init(mode)
60
73
 
@@ -67,7 +80,8 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
67
80
 
68
81
  self.dconfigure(
69
82
  text=text,
70
- command=command
83
+ command=command,
84
+ state=state,
71
85
  )
72
86
 
73
87
  self.bind("<<Clicked>>", lambda event=None: self.toggle(), add="+")
@@ -77,9 +91,8 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
77
91
  self.bind("<Return>", lambda event=None: self.attributes.command(), add="+") # 可以使用回车键模拟点击
78
92
  self.bind("<Return>", lambda event=None: self.toggle(), add="+") # 可以使用回车键模拟点击
79
93
 
80
- if font is None:
81
- from tkdeft.utility.fonts import SegoeFont
82
- self.attributes.font = SegoeFont()
94
+ from .defs import set_default_font
95
+ set_default_font(font, self.attributes)
83
96
 
84
97
  def _init(self, mode):
85
98
 
@@ -90,19 +103,12 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
90
103
  "text": "",
91
104
  "command": None,
92
105
  "font": None,
106
+ "state": "normal",
93
107
  "checked": False,
94
108
 
95
- "uncheck": {
96
- "rest": {},
97
- "hover": {},
98
- "pressed": {}
99
- },
109
+ "uncheck": {},
100
110
 
101
- "check": {
102
- "rest": {},
103
- "hover": {},
104
- "pressed": {}
105
- }
111
+ "check": {}
106
112
  }
107
113
  )
108
114
 
@@ -111,59 +117,56 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
111
117
  def _draw(self, event=None):
112
118
  super()._draw(event)
113
119
 
120
+ width = self.winfo_width()
121
+ height = self.winfo_height()
122
+
114
123
  self.delete("all")
115
124
 
125
+ state = self.dcget("state")
126
+
127
+ _dict = None
128
+
116
129
  if not self.attributes.checked:
117
- if self.enter:
118
- if self.button1:
119
- _back_color = self.attributes.uncheck.pressed.back_color
120
- _border_color = self.attributes.uncheck.pressed.border_color
121
- _border_color2 = self.attributes.uncheck.pressed.border_color2
122
- _border_width = self.attributes.uncheck.pressed.border_width
123
- _radius = self.attributes.uncheck.pressed.radius
124
- _text_color = self.attributes.uncheck.pressed.text_color
130
+ if state == "normal":
131
+ if self.enter:
132
+ if self.button1:
133
+ _dict = self.attributes.uncheck.pressed
134
+ else:
135
+ _dict = self.attributes.uncheck.hover
125
136
  else:
126
- _back_color = self.attributes.uncheck.hover.back_color
127
- _border_color = self.attributes.uncheck.hover.border_color
128
- _border_color2 = self.attributes.uncheck.hover.border_color2
129
- _border_width = self.attributes.uncheck.hover.border_width
130
- _radius = self.attributes.uncheck.hover.radius
131
- _text_color = self.attributes.uncheck.hover.text_color
137
+ _dict = self.attributes.uncheck.rest
132
138
  else:
133
- _back_color = self.attributes.uncheck.rest.back_color
134
- _border_color = self.attributes.uncheck.rest.border_color
135
- _border_color2 = self.attributes.uncheck.rest.border_color2
136
- _border_width = self.attributes.uncheck.rest.border_width
137
- _radius = self.attributes.uncheck.rest.radius
138
- _text_color = self.attributes.uncheck.rest.text_color
139
+ _dict = self.attributes.uncheck.disabled
139
140
  else:
140
- if self.enter:
141
- if self.button1:
142
- _back_color = self.attributes.check.pressed.back_color
143
- _border_color = self.attributes.check.pressed.border_color
144
- _border_color2 = self.attributes.check.pressed.border_color2
145
- _border_width = self.attributes.check.pressed.border_width
146
- _radius = self.attributes.check.pressed.radius
147
- _text_color = self.attributes.check.pressed.text_color
141
+ if state == "normal":
142
+ if self.enter:
143
+ if self.button1:
144
+ _dict = self.attributes.check.pressed
145
+ else:
146
+ _dict = self.attributes.check.hover
148
147
  else:
149
- _back_color = self.attributes.check.hover.back_color
150
- _border_color = self.attributes.check.hover.border_color
151
- _border_color2 = self.attributes.check.hover.border_color2
152
- _border_width = self.attributes.check.hover.border_width
153
- _radius = self.attributes.check.hover.radius
154
- _text_color = self.attributes.check.hover.text_color
148
+ _dict = self.attributes.check.rest
155
149
  else:
156
- _back_color = self.attributes.check.rest.back_color
157
- _border_color = self.attributes.check.rest.border_color
158
- _border_color2 = self.attributes.check.rest.border_color2
159
- _border_width = self.attributes.check.rest.border_width
160
- _radius = self.attributes.check.rest.radius
161
- _text_color = self.attributes.check.rest.text_color
162
-
163
- self.element_border = self.create_round_rectangle(
164
- 0, 0, self.winfo_width(), self.winfo_height(), _radius, temppath=self.temppath,
165
- fill=_back_color, outline=_border_color, outline2=_border_color2, width=_border_width
150
+ _dict = self.attributes.check.disabled
151
+
152
+ _back_color = _dict.back_color
153
+ _back_opacity = _dict.back_opacity
154
+ _border_color = _dict.border_color
155
+ _border_color_opacity = _dict.border_color_opacity
156
+ _border_color2 = _dict.border_color2
157
+ _border_color2_opacity = _dict.border_color2_opacity
158
+ _border_width = _dict.border_width
159
+ _radius = _dict.radius
160
+ _text_color = _dict.text_color
161
+
162
+ self.element_border = self.create_round_rectangle_with_text(
163
+ 0, 0, width, height, _radius, temppath=self.temppath,
164
+ fill=_back_color, fill_opacity=_back_opacity,
165
+ outline=_border_color, outline_opacity=_border_color_opacity, outline2=_border_color2,
166
+ outline2_opacity=_border_color2_opacity,
167
+ width=_border_width,
166
168
  )
169
+
167
170
  self.element_text = self.create_text(
168
171
  self.winfo_width() / 2, self.winfo_height() / 2, anchor="center",
169
172
  fill=_text_color, text=self.attributes.text, font=self.attributes.font
@@ -177,113 +180,195 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
177
180
  self._light()
178
181
 
179
182
  def _light(self):
183
+ from tkflu.designs.primary_color import get_primary_color
180
184
  self.dconfigure(
181
185
  uncheck={
182
186
  "rest": {
183
187
  "back_color": "#ffffff",
184
- "border_color": "#f0f0f0",
185
- "border_color2": "#d6d6d6",
188
+ "back_opacity": "0.7",
189
+ "border_color": "#000000",
190
+ "border_color_opacity": "0.2",
191
+ "border_color2": "#000000",
192
+ "border_color2_opacity": "0.3",
186
193
  "border_width": 1,
187
194
  "radius": 6,
188
- "text_color": "#1b1b1b",
195
+ "text_color": "#000000",
189
196
  },
190
197
  "hover": {
191
- "back_color": "#fcfcfc",
192
- "border_color": "#f0f0f0",
193
- "border_color2": "#d6d6d6",
198
+ "back_color": "#F9F9F9",
199
+ "back_opacity": "0.5",
200
+ "border_color": "#000000",
201
+ "border_color_opacity": "0.1",
202
+ "border_color2": "#000000",
203
+ "border_color2_opacity": "0.2",
194
204
  "border_width": 1,
195
205
  "radius": 6,
196
- "text_color": "#1b1b1b",
206
+ "text_color": "#000000",
197
207
  },
198
208
  "pressed": {
199
- "back_color": "#fdfdfd",
200
- "border_color": "#f0f0f0",
201
- "border_color2": "#f0f0f0",
209
+ "back_color": "#F9F9F9",
210
+ "back_opacity": "0.3",
211
+ "border_color": "#000000",
212
+ "border_color_opacity": "0.1",
213
+ "border_color2": None,
214
+ "border_color2_opacity": None,
202
215
  "border_width": 1,
203
216
  "radius": 6,
204
217
  "text_color": "#636363",
205
- }
218
+ },
219
+ "disabled": {
220
+ "back_color": "#ffffff",
221
+ "back_opacity": "1.000000",
222
+ "border_color": "#000000",
223
+ "border_color_opacity": "0.058824",
224
+ "border_color2": "#000000",
225
+ "border_color2_opacity": "0.160784",
226
+ "border_width": 1,
227
+ "radius": 6,
228
+ "text_color": "#a2a2a2",
229
+ },
206
230
  },
207
231
  check={
208
232
  "rest": {
209
- "back_color": "#005fb8",
210
- "border_color": "#146cbe",
211
- "border_color2": "#00396e",
233
+ "back_color": get_primary_color()[0],
234
+ "back_opacity": "1",
235
+ "border_color": "#FFFFFF",
236
+ "border_color_opacity": "0.08",
237
+ "border_color2": "#000000",
238
+ "border_color2_opacity": "0.4",
212
239
  "border_width": 1,
213
240
  "radius": 6,
214
241
  "text_color": "#ffffff",
215
242
  },
216
243
  "hover": {
217
- "back_color": "#0359a9",
218
- "border_color": "#1766b0",
219
- "border_color2": "#0f4373",
244
+ "back_color": get_primary_color()[0],
245
+ "back_opacity": "0.9",
246
+ "border_color": "#FFFFFF",
247
+ "border_color_opacity": "0.08",
248
+ "border_color2": "#000000",
249
+ "border_color2_opacity": "0.4",
220
250
  "border_width": 1,
221
251
  "radius": 6,
222
252
  "text_color": "#ffffff",
223
253
  },
224
254
  "pressed": {
225
- "back_color": "#005fb8",
226
- "border_color": "#4389ca",
227
- "border_color2": "#4389ca",
255
+ "back_color": get_primary_color()[0],
256
+ "back_opacity": "0.8",
257
+ "border_color": "#FFFFFF",
258
+ "border_color_opacity": "0.08",
259
+ "border_color2": "#FFFFFF",
260
+ "border_color2_opacity": "0.08",
228
261
  "border_width": 1,
229
262
  "radius": 6,
230
- "text_color": "#b4cbe0",
263
+ "text_color": "#c2d9ee",
264
+ },
265
+ "disabled": {
266
+ "back_color": "#000000",
267
+ "back_opacity": "0.22",
268
+ "border_color": "#FFFFFF",
269
+ "border_color_opacity": "1",
270
+ "border_color2": "#FFFFFF",
271
+ "border_color2_opacity": "1",
272
+ "border_width": 0,
273
+ "radius": 6,
274
+ "text_color": "#f3f3f3",
231
275
  }
232
276
  }
233
277
  )
234
278
 
235
279
  def _dark(self):
280
+ from tkflu.designs.primary_color import get_primary_color
236
281
  self.dconfigure(
237
282
  uncheck={
238
283
  "rest": {
239
- "back_color": "#272727",
240
- "border_color": "#303030",
241
- "border_color2": "#262626",
284
+ "back_color": "#FFFFFF",
285
+ "back_opacity": "0.06",
286
+ "border_color": "#FFFFFF",
287
+ "border_color_opacity": "0.09",
288
+ "border_color2": "#FFFFFF",
289
+ "border_color2_opacity": "0.07",
242
290
  "border_width": 1,
243
291
  "radius": 6,
244
- "text_color": "#ffffff",
292
+ "text_color": "#FFFFFF",
245
293
  },
246
294
  "hover": {
247
- "back_color": "#2d2d2d",
248
- "border_color": "#303030",
249
- "border_color2": "#262626",
295
+ "back_color": "#FFFFFF",
296
+ "back_opacity": "0.08",
297
+ "border_color": "#FFFFFF",
298
+ "border_color_opacity": "0.09",
299
+ "border_color2": "#FFFFFF",
300
+ "border_color2_opacity": "0.07",
250
301
  "border_width": 1,
251
302
  "radius": 6,
252
- "text_color": "#ffffff",
303
+ "text_color": "#FFFFFF",
253
304
  },
254
305
  "pressed": {
255
- "back_color": "#212121",
256
- "border_color": "#2a2a2a",
257
- "border_color2": "#262626",
306
+ "back_color": "#FFFFFF",
307
+ "back_opacity": "0.03",
308
+ "border_color": "#FFFFFF",
309
+ "border_color_opacity": "0.07",
310
+ "border_color2": None,
311
+ "border_color2_opacity": None,
258
312
  "border_width": 1,
259
313
  "radius": 6,
260
- "text_color": "#cfcfcf",
314
+ "text_color": "#7D7D7D",
315
+ },
316
+ "disabled": {
317
+ "back_color": "#FFFFFF",
318
+ "back_opacity": "0.04",
319
+ "border_color": "#FFFFFF",
320
+ "border_color_opacity": "0.07",
321
+ "border_color2": None,
322
+ "border_color2_opacity": None,
323
+ "border_width": 1,
324
+ "radius": 6,
325
+ "text_color": "#a2a2a2",
261
326
  }
262
327
  },
263
328
  check={
264
329
  "rest": {
265
- "back_color": "#60cdff",
266
- "border_color": "#6cd1ff",
267
- "border_color2": "#56b4df",
330
+ "back_color": get_primary_color()[1],
331
+ "back_opacity": "1",
332
+ "border_color": "#FFFFFF",
333
+ "border_color_opacity": "0.08",
334
+ "border_color2": "#000000",
335
+ "border_color2_opacity": "0.14",
268
336
  "border_width": 1,
269
337
  "radius": 6,
270
338
  "text_color": "#000000",
271
339
  },
272
340
  "hover": {
273
- "back_color": "#5abce9",
274
- "border_color": "#67c1eb",
275
- "border_color2": "#50a5cc",
341
+ "back_color": get_primary_color()[1],
342
+ "back_opacity": "0.9",
343
+ "border_color": "#FFFFFF",
344
+ "border_color_opacity": "0.08",
345
+ "border_color2": "#000000",
346
+ "border_color2_opacity": "0.14",
276
347
  "border_width": 1,
277
348
  "radius": 6,
278
349
  "text_color": "#000000",
279
350
  },
280
351
  "pressed": {
281
- "back_color": "#52a9d1",
282
- "border_color": "#60b0d5",
283
- "border_color2": "#60b0d5",
352
+ "back_color": get_primary_color()[1],
353
+ "back_opacity": "0.8",
354
+ "border_color": "#FFFFFF",
355
+ "border_color_opacity": "0.08",
356
+ "border_color2": None,
357
+ "border_color2_opacity": None,
358
+ "border_width": 1,
359
+ "radius": 6,
360
+ "text_color": "#295569",
361
+ },
362
+ "disabled": {
363
+ "back_color": "#FFFFFF",
364
+ "back_opacity": "0.16",
365
+ "border_color": "#FFFFFF",
366
+ "border_color_opacity": "0.16",
367
+ "border_color2": None,
368
+ "border_color2_opacity": None,
284
369
  "border_width": 1,
285
370
  "radius": 6,
286
- "text_color": "#295468",
371
+ "text_color": "#a7a7a7",
287
372
  }
288
373
  }
289
374
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tkfluent
3
- Version: 0.0.4
3
+ Version: 0.0.6
4
4
  Summary: Fluent Design for Tkinter
5
5
  Author: XiangQinxi
6
6
  Author-email: xiangqinxi@outlook.com
@@ -15,10 +15,12 @@ Classifier: Programming Language :: Python :: 3.12
15
15
  Requires-Dist: easydict (>=1.13,<2.0)
16
16
  Requires-Dist: pillow (>=10.2.0,<11.0.0)
17
17
  Requires-Dist: svgwrite (>=1.4.3,<2.0.0)
18
- Requires-Dist: tkdeft (>=0.0.7,<0.0.8)
18
+ Requires-Dist: tkdeft (>=0.0.9,<0.0.10)
19
19
  Requires-Dist: tkextrafont (>=0.6.3,<0.7.0)
20
20
  Requires-Dist: tksvg (>=0.7.4,<0.8.0)
21
21
  Project-URL: Documentation, https://tkfluent.netlify.app
22
22
  Description-Content-Type: text/markdown
23
23
 
24
24
  # tkfluent
25
+
26
+ `tkinter`现代化组件库。设计来于`Fluent` `WinUI3` 设计
@@ -0,0 +1,42 @@
1
+ tkflu/__init__.py,sha256=slDm1_ErwpLqaGkfXdNe7Q7pqE-W42HTedfHnKC4Ppo,884
2
+ tkflu/__main__.py,sha256=HJhwQ47_YCin51sJ-ffh8PUFPTE9uZPpbqSNkoypJec,2251
3
+ tkflu/badge.py,sha256=8gnHM5cYRqkZWg_Mq3rMfFcUgtnW6hcAH47DQdj9hNI,5730
4
+ tkflu/button.py,sha256=SW86Fs0DCCQQRHekzXaAEy9ypeKZBJZgUkHz5pcIQPY,9434
5
+ tkflu/bwm.py,sha256=TN0PO7McBxiRC7gcwsMFFTgHt5TFi-t3Kixrvo-p5_4,6976
6
+ tkflu/checkbox.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
+ tkflu/constants.py,sha256=UuVMgqBKn_nzoe9JsJKfXRZmSUafDdld2xYIHuLn-D0,219
8
+ tkflu/customwindow.py,sha256=Fr4CF0vKwj36tYzgX9_5F7OwcD59z9LfOW20Ugm2Hxc,3761
9
+ tkflu/customwindow2.py,sha256=nyNEMoGVnOYXCPbdvxZFUH-VlpAtjjEGI8Ul9VDvgAs,2109
10
+ tkflu/defs.py,sha256=7PCC5htc0qXG5Y6o1sT3peY635JLdsYL4ZQPucUSWgg,460
11
+ tkflu/designs/__init__.py,sha256=2Z4lCHHwMtXinGQgowsQeLkGBl20c5iMOR6GjvE4my4,113
12
+ tkflu/designs/badge.py,sha256=SVwDrQPltscB7YDvw5qhPdepKy1S-pcdD6OyYfonwzQ,1463
13
+ tkflu/designs/button.py,sha256=yEKRrH5dcDQCaGGqsYRnKgaCPSSd8cU__31LOQf2JX0,12274
14
+ tkflu/designs/design.py,sha256=RZNNzSl89BE7nFvOPThuzYKhONBZc76DMfYvHJ-pJWc,751
15
+ tkflu/designs/entry.py,sha256=iUilCpOl_zs_PbklIWhKWkkaZGQbt0bCprrZwhE3CEs,5060
16
+ tkflu/designs/fonts/__init__.py,sha256=lKvu4DKjRaWNczHas_YJZNx_LVr9tt3W_kFkJJRju0Q,642
17
+ tkflu/designs/fonts/segoeui.ttf,sha256=dPKz0MIM9zgOsSGgn9fN_cHM3RKgDbg8rsD-tItNufc,975088
18
+ tkflu/designs/frame.py,sha256=ypv5DilK1ZAsbGIzPIBPQFRrnfC7XtFYpvUFmUd6hdg,1167
19
+ tkflu/designs/primary_color.py,sha256=1gEM9qvHNNA09k4QOEFG0DUMhCqSK5C47YW-Nk6k4vY,729
20
+ tkflu/designs/text.py,sha256=YMJR2eGE7lFIZPYrT7p8QBD3zRH4NaVWhrL1dOb6vJ4,5059
21
+ tkflu/designs/window.py,sha256=pYovade_k_sHLtop9w9wVL1Gpxl9wxGncTiv7_Fnqqg,625
22
+ tkflu/entry.py,sha256=qsJTA9xLs27Ez5pUzahgBO-RYxS-xN9qnuM17HaurgM,10746
23
+ tkflu/frame.py,sha256=KgmKEKXNZJgCi1_j4ChsnvDHmYL0OqksLuBhbXA0YRM,10107
24
+ tkflu/icons.py,sha256=Xzrc9WzexncYEPXqnVg3ywWv_7kLZLyYC5WtaRv30PQ,7129
25
+ tkflu/image.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ tkflu/label.py,sha256=N4EfohaDbHiCYOmoRBz-TDNc-2kcvoDDazekRZIABXg,1561
27
+ tkflu/listbox.py,sha256=gD_oNNWVZtm5qXQ8bVBNRqJL6CGiIYtvhxztM9huzew,9991
28
+ tkflu/litenav.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ tkflu/menu.py,sha256=0Kjph9Zt8w1H_EUGPJa2qIr-39T1AodAvv9B7JE-IRw,3198
30
+ tkflu/menubar.py,sha256=2XdMfWy6djGU3RL1ykbaUR6bj0rwaqdUJmufOzsdOPE,4027
31
+ tkflu/popupmenu.py,sha256=dRwuFK7PKSYXiLhzrrzjKXTjtLfr7vh0KDvJIUjDetg,1592
32
+ tkflu/popupwindow.py,sha256=r3nfZI4QWWhrde_AX2vN33l9XuQ_wbCNzs3eakUPFqo,935
33
+ tkflu/scrollbar.py,sha256=1hbu5n1mx4KyiF_M3sohpJJPux1zu5Jlw9V6LfQQs1Y,7293
34
+ tkflu/text.py,sha256=PtGQBhA31pHALqfn1zlFTo64l0BFcKmgjspjTueg_9g,10743
35
+ tkflu/thememanager.py,sha256=oG-VWkFogVJJOmsz67hyVfvNdkWMUeP252Qcez8FQmk,963
36
+ tkflu/togglebutton.py,sha256=WtSzLHP4Al00po5DEaa_hzGqsXTB6mVH4n8kPJXbnOc,14773
37
+ tkflu/tooltip.py,sha256=MlaV1GrkWsllkRlKswytQtU6Fwc332YSSo0IY9yj-n0,205
38
+ tkflu/toplevel.py,sha256=gcLz93Q9OgWc9dV4d-TK6gXk5eIetFuU5CbO8ybAvsI,815
39
+ tkflu/window.py,sha256=cp1nm5Eh2PYO1XzTKVX2ic7f4Xx1JREWlBRuO02MK64,980
40
+ tkfluent-0.0.6.dist-info/METADATA,sha256=-PKKn0N41HjgmSKVkcSqy2BCx4Q0YQgOGefTGFXeh74,941
41
+ tkfluent-0.0.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
42
+ tkfluent-0.0.6.dist-info/RECORD,,
tkflu/winico.py DELETED
@@ -1,25 +0,0 @@
1
- from tkdeft.object import DObject
2
-
3
- try:
4
- from tkwinico import *
5
- except:
6
- class FluWinico(DObject):
7
- pass
8
- else:
9
- class FluWinico(Winico, DObject):
10
- def __init__(self, *args, icon_name=None, icon_file=None, **kwargs):
11
- super().__init__(*args, **kwargs)
12
-
13
- self.tray_add(self.icon(icon_name=icon_name, icon_file=icon_file), callback=self.callback, callback_args=[MESSAGE, X, Y])
14
-
15
- from .popupmenu import FluPopupMenu
16
-
17
- self.menu = FluPopupMenu()
18
- self.menu.window.geometry("100x40")
19
-
20
- def callback(self, message, x, y):
21
- if message == "WM_RBUTTONDOWNessage":
22
- self.menu.window.attributes("-topmost", True)
23
- self.menu.window.deiconify()
24
- self.menu.popup(x, y)
25
- self.menu.focus_set()
@@ -1,31 +0,0 @@
1
- tkflu/__init__.py,sha256=qBGpXpHvmFgO-_H3Ty4-vwhffiPwNc0Py6qjDpa1-Wc,871
2
- tkflu/__main__.py,sha256=aJa9qCV69vcnbAprdPtObv0gkx2B7Qxtvf1OlzmWrIY,2122
3
- tkflu/badge.py,sha256=SReWYzwuJpKU-OvnpMUrsYoYAJ2pA0bahChxS06lhYk,4914
4
- tkflu/button.py,sha256=qbTCfjfdJJG2Poj1voFYg0w7GAMYU4CW_zQIj5ALXuI,17148
5
- tkflu/bwm.py,sha256=fbvX6-Lit4QtqQGRWKReowczSHZP3yC-s22HkCAZHy8,6094
6
- tkflu/checkbox.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- tkflu/constants.py,sha256=UuVMgqBKn_nzoe9JsJKfXRZmSUafDdld2xYIHuLn-D0,219
8
- tkflu/customwindow.py,sha256=Fr4CF0vKwj36tYzgX9_5F7OwcD59z9LfOW20Ugm2Hxc,3761
9
- tkflu/customwindow2.py,sha256=nyNEMoGVnOYXCPbdvxZFUH-VlpAtjjEGI8Ul9VDvgAs,2109
10
- tkflu/entry.py,sha256=kYdQPvX-_02kwxtO2WA3umizcXcba6z3Z8MJ7je_164,8416
11
- tkflu/frame.py,sha256=jQprJ5pXfQ17iywzbAatS12U2g43yg1Mg7O-3dnXPOQ,7934
12
- tkflu/icons.py,sha256=Xzrc9WzexncYEPXqnVg3ywWv_7kLZLyYC5WtaRv30PQ,7129
13
- tkflu/image.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- tkflu/label.py,sha256=m9HEXlM0ribh8y4B6vfp3HEVH8ElyuVPyG-2BwzdGVo,1598
15
- tkflu/listbox.py,sha256=gD_oNNWVZtm5qXQ8bVBNRqJL6CGiIYtvhxztM9huzew,9991
16
- tkflu/litenav.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- tkflu/menu.py,sha256=x0gQf_AOsOe3Y38L_Op6_gkO85qkRTR_9A-e4QUex58,3152
18
- tkflu/menubar.py,sha256=2XdMfWy6djGU3RL1ykbaUR6bj0rwaqdUJmufOzsdOPE,4027
19
- tkflu/popupmenu.py,sha256=dRwuFK7PKSYXiLhzrrzjKXTjtLfr7vh0KDvJIUjDetg,1592
20
- tkflu/popupwindow.py,sha256=yphXBI0wSmlGB64HwVtI-quKpIQAIMowxwg2bS4beLw,935
21
- tkflu/scrollbar.py,sha256=1hbu5n1mx4KyiF_M3sohpJJPux1zu5Jlw9V6LfQQs1Y,7293
22
- tkflu/text.py,sha256=_lCiQM7zNGYfVervk27p52LNGpGPQQ0SRCly4Nj-oP4,8172
23
- tkflu/thememanager.py,sha256=oG-VWkFogVJJOmsz67hyVfvNdkWMUeP252Qcez8FQmk,963
24
- tkflu/togglebutton.py,sha256=odBB8Ge0Ef5odvBTlZMfNlq82ssHQOlW_3U1if4-thU,11666
25
- tkflu/tooltip.py,sha256=MlaV1GrkWsllkRlKswytQtU6Fwc332YSSo0IY9yj-n0,205
26
- tkflu/toplevel.py,sha256=gcLz93Q9OgWc9dV4d-TK6gXk5eIetFuU5CbO8ybAvsI,815
27
- tkflu/window.py,sha256=cp1nm5Eh2PYO1XzTKVX2ic7f4Xx1JREWlBRuO02MK64,980
28
- tkflu/winico.py,sha256=5wB9VL6SyMLD9fH9eglWPuJjQAyd851PoNUO4j5A9gw,859
29
- tkfluent-0.0.4.dist-info/METADATA,sha256=-XH8dlUqI4s7dk_NhvZW8Ei5tyvJmAZIPgnk9xM4HJI,872
30
- tkfluent-0.0.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
31
- tkfluent-0.0.4.dist-info/RECORD,,