tkfluent 0.0.3__py3-none-any.whl → 0.0.5__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,61 +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
- "back_color": None,
98
- "border_color": None,
99
- "border_color2": None,
100
- "border_width": None,
101
- "radius": None,
102
- "text_color": None,
103
- },
104
- "hover": {
105
- "back_color": None,
106
- "border_color": None,
107
- "border_color2": None,
108
- "border_width": None,
109
- "radius": None,
110
- "text_color": None,
111
- },
112
- "pressed": {
113
- "back_color": None,
114
- "border_color": None,
115
- "border_color2": None,
116
- "border_width": None,
117
- "radius": None,
118
- "text_color": None,
119
- }
120
- },
109
+ "uncheck": {},
121
110
 
122
- "check": {
123
- "rest": {
124
- "back_color": None,
125
- "border_color": None,
126
- "border_color2": None,
127
- "border_width": None,
128
- "radius": None,
129
- "text_color": None,
130
- },
131
- "hover": {
132
- "back_color": None,
133
- "border_color": None,
134
- "border_color2": None,
135
- "border_width": None,
136
- "radius": None,
137
- "text_color": None,
138
- },
139
- "pressed": {
140
- "back_color": None,
141
- "border_color": None,
142
- "border_color2": None,
143
- "border_width": None,
144
- "radius": None,
145
- "text_color": None,
146
- }
147
- }
111
+ "check": {}
148
112
  }
149
113
  )
150
114
 
@@ -153,59 +117,56 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
153
117
  def _draw(self, event=None):
154
118
  super()._draw(event)
155
119
 
120
+ width = self.winfo_width()
121
+ height = self.winfo_height()
122
+
156
123
  self.delete("all")
157
124
 
125
+ state = self.dcget("state")
126
+
127
+ _dict = None
128
+
158
129
  if not self.attributes.checked:
159
- if self.enter:
160
- if self.button1:
161
- _back_color = self.attributes.uncheck.pressed.back_color
162
- _border_color = self.attributes.uncheck.pressed.border_color
163
- _border_color2 = self.attributes.uncheck.pressed.border_color2
164
- _border_width = self.attributes.uncheck.pressed.border_width
165
- _radius = self.attributes.uncheck.pressed.radius
166
- _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
167
136
  else:
168
- _back_color = self.attributes.uncheck.hover.back_color
169
- _border_color = self.attributes.uncheck.hover.border_color
170
- _border_color2 = self.attributes.uncheck.hover.border_color2
171
- _border_width = self.attributes.uncheck.hover.border_width
172
- _radius = self.attributes.uncheck.hover.radius
173
- _text_color = self.attributes.uncheck.hover.text_color
137
+ _dict = self.attributes.uncheck.rest
174
138
  else:
175
- _back_color = self.attributes.uncheck.rest.back_color
176
- _border_color = self.attributes.uncheck.rest.border_color
177
- _border_color2 = self.attributes.uncheck.rest.border_color2
178
- _border_width = self.attributes.uncheck.rest.border_width
179
- _radius = self.attributes.uncheck.rest.radius
180
- _text_color = self.attributes.uncheck.rest.text_color
139
+ _dict = self.attributes.uncheck.disabled
181
140
  else:
182
- if self.enter:
183
- if self.button1:
184
- _back_color = self.attributes.check.pressed.back_color
185
- _border_color = self.attributes.check.pressed.border_color
186
- _border_color2 = self.attributes.check.pressed.border_color2
187
- _border_width = self.attributes.check.pressed.border_width
188
- _radius = self.attributes.check.pressed.radius
189
- _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
190
147
  else:
191
- _back_color = self.attributes.check.hover.back_color
192
- _border_color = self.attributes.check.hover.border_color
193
- _border_color2 = self.attributes.check.hover.border_color2
194
- _border_width = self.attributes.check.hover.border_width
195
- _radius = self.attributes.check.hover.radius
196
- _text_color = self.attributes.check.hover.text_color
148
+ _dict = self.attributes.check.rest
197
149
  else:
198
- _back_color = self.attributes.check.rest.back_color
199
- _border_color = self.attributes.check.rest.border_color
200
- _border_color2 = self.attributes.check.rest.border_color2
201
- _border_width = self.attributes.check.rest.border_width
202
- _radius = self.attributes.check.rest.radius
203
- _text_color = self.attributes.check.rest.text_color
204
-
205
- self.element_border = self.create_round_rectangle(
206
- 0, 0, self.winfo_width(), self.winfo_height(), _radius, temppath=self.temppath,
207
- 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,
208
168
  )
169
+
209
170
  self.element_text = self.create_text(
210
171
  self.winfo_width() / 2, self.winfo_height() / 2, anchor="center",
211
172
  fill=_text_color, text=self.attributes.text, font=self.attributes.font
@@ -219,113 +180,195 @@ class FluToggleButton(FluToggleButtonCanvas, DDrawWidget):
219
180
  self._light()
220
181
 
221
182
  def _light(self):
183
+ from tkflu.designs.primary_color import get_primary_color
222
184
  self.dconfigure(
223
185
  uncheck={
224
186
  "rest": {
225
187
  "back_color": "#ffffff",
226
- "border_color": "#f0f0f0",
227
- "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",
228
193
  "border_width": 1,
229
194
  "radius": 6,
230
- "text_color": "#1b1b1b",
195
+ "text_color": "#000000",
231
196
  },
232
197
  "hover": {
233
- "back_color": "#fcfcfc",
234
- "border_color": "#f0f0f0",
235
- "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",
236
204
  "border_width": 1,
237
205
  "radius": 6,
238
- "text_color": "#1b1b1b",
206
+ "text_color": "#000000",
239
207
  },
240
208
  "pressed": {
241
- "back_color": "#fdfdfd",
242
- "border_color": "#f0f0f0",
243
- "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,
244
215
  "border_width": 1,
245
216
  "radius": 6,
246
217
  "text_color": "#636363",
247
- }
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
+ },
248
230
  },
249
231
  check={
250
232
  "rest": {
251
- "back_color": "#005fb8",
252
- "border_color": "#146cbe",
253
- "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",
254
239
  "border_width": 1,
255
240
  "radius": 6,
256
241
  "text_color": "#ffffff",
257
242
  },
258
243
  "hover": {
259
- "back_color": "#0359a9",
260
- "border_color": "#1766b0",
261
- "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",
262
250
  "border_width": 1,
263
251
  "radius": 6,
264
252
  "text_color": "#ffffff",
265
253
  },
266
254
  "pressed": {
267
- "back_color": "#005fb8",
268
- "border_color": "#4389ca",
269
- "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",
270
261
  "border_width": 1,
271
262
  "radius": 6,
272
- "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",
273
275
  }
274
276
  }
275
277
  )
276
278
 
277
279
  def _dark(self):
280
+ from tkflu.designs.primary_color import get_primary_color
278
281
  self.dconfigure(
279
282
  uncheck={
280
283
  "rest": {
281
- "back_color": "#272727",
282
- "border_color": "#303030",
283
- "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",
284
290
  "border_width": 1,
285
291
  "radius": 6,
286
- "text_color": "#ffffff",
292
+ "text_color": "#FFFFFF",
287
293
  },
288
294
  "hover": {
289
- "back_color": "#2d2d2d",
290
- "border_color": "#303030",
291
- "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",
292
301
  "border_width": 1,
293
302
  "radius": 6,
294
- "text_color": "#ffffff",
303
+ "text_color": "#FFFFFF",
295
304
  },
296
305
  "pressed": {
297
- "back_color": "#212121",
298
- "border_color": "#2a2a2a",
299
- "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,
300
312
  "border_width": 1,
301
313
  "radius": 6,
302
- "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",
303
326
  }
304
327
  },
305
328
  check={
306
329
  "rest": {
307
- "back_color": "#60cdff",
308
- "border_color": "#6cd1ff",
309
- "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",
310
336
  "border_width": 1,
311
337
  "radius": 6,
312
338
  "text_color": "#000000",
313
339
  },
314
340
  "hover": {
315
- "back_color": "#5abce9",
316
- "border_color": "#67c1eb",
317
- "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",
318
347
  "border_width": 1,
319
348
  "radius": 6,
320
349
  "text_color": "#000000",
321
350
  },
322
351
  "pressed": {
323
- "back_color": "#52a9d1",
324
- "border_color": "#60b0d5",
325
- "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,
326
369
  "border_width": 1,
327
370
  "radius": 6,
328
- "text_color": "#295468",
371
+ "text_color": "#a7a7a7",
329
372
  }
330
373
  }
331
374
  )
tkflu/tooltip.py ADDED
@@ -0,0 +1,8 @@
1
+ from .popupwindow import FluPopupWindow
2
+
3
+
4
+ class FluToolTip(FluPopupWindow):
5
+ def __init__(self, widget, *args, **kwargs):
6
+ super().__init__(*args, **kwargs)
7
+
8
+ self.widget = widget
tkflu/toplevel.py CHANGED
@@ -24,7 +24,6 @@ class FluToplevel(Toplevel, BWm, DObject):
24
24
 
25
25
  Toplevel.__init__(self, *args, **kwargs)
26
26
 
27
- self.bind("<Configure>", self._event_configure)
28
-
29
- def _exit(self):
30
- self.destroy()
27
+ self.bind("<Configure>", self._event_configure, add="+")
28
+ self.bind("<Escape>", self._event_key_esc, add="+")
29
+ self.protocol("WM_DELETE_WINDOW", self._event_delete_window)
tkflu/window.py CHANGED
@@ -24,8 +24,11 @@ class FluWindow(Tk, BWm, DObject):
24
24
 
25
25
  super().__init__(*args, className=className, **kwargs)
26
26
 
27
- self.bind("<Configure>", self._event_configure)
28
-
29
-
27
+ from .icons import light
28
+ from tkinter import PhotoImage
30
29
 
30
+ self.iconphoto(False, PhotoImage(file=light()))
31
31
 
32
+ self.bind("<Configure>", self._event_configure, add="+")
33
+ self.bind("<Escape>", self._event_key_esc, add="+")
34
+ self.protocol("WM_DELETE_WINDOW", self._event_delete_window)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tkfluent
3
- Version: 0.0.3
3
+ Version: 0.0.5
4
4
  Summary: Fluent Design for Tkinter
5
5
  Author: XiangQinxi
6
6
  Author-email: xiangqinxi@outlook.com
@@ -22,3 +22,5 @@ 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.5.dist-info/METADATA,sha256=nIfnjwvxIGz3JvAEbl5Mo1wtH3ngpP8ZvcEHnWdxq5w,940
41
+ tkfluent-0.0.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
42
+ tkfluent-0.0.5.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()