tkfluent 0.0.3__py3-none-any.whl → 0.0.4__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/__init__.py +4 -1
- tkflu/__main__.py +11 -3
- tkflu/button.py +265 -130
- tkflu/bwm.py +7 -4
- tkflu/constants.py +15 -0
- tkflu/entry.py +63 -18
- tkflu/icons.py +47 -0
- tkflu/menu.py +41 -3
- tkflu/popupmenu.py +4 -29
- tkflu/popupwindow.py +31 -0
- tkflu/text.py +56 -18
- tkflu/togglebutton.py +6 -48
- tkflu/tooltip.py +8 -0
- tkflu/toplevel.py +3 -4
- tkflu/window.py +6 -3
- {tkfluent-0.0.3.dist-info → tkfluent-0.0.4.dist-info}/METADATA +1 -1
- tkfluent-0.0.4.dist-info/RECORD +31 -0
- tkfluent-0.0.3.dist-info/RECORD +0 -27
- {tkfluent-0.0.3.dist-info → tkfluent-0.0.4.dist-info}/WHEEL +0 -0
tkflu/__init__.py
CHANGED
@@ -9,15 +9,18 @@ Fluent设计的tkinter组件库(模板)
|
|
9
9
|
|
10
10
|
from .badge import FluBadge
|
11
11
|
from .button import FluButton
|
12
|
+
from .constants import *
|
12
13
|
from .entry import FluEntry
|
13
14
|
from .frame import FluFrame
|
14
15
|
from .label import FluLabel
|
15
16
|
from .menu import FluMenu
|
16
17
|
from .menubar import FluMenuBar
|
17
|
-
from .popupmenu import FluPopupMenu
|
18
|
+
from .popupmenu import FluPopupMenu, FluPopupMenuWindow
|
19
|
+
from .popupwindow import FluPopupWindow
|
18
20
|
from .text import FluText
|
19
21
|
from .thememanager import FluThemeManager
|
20
22
|
from .togglebutton import FluToggleButton
|
23
|
+
from .tooltip import FluToolTip
|
21
24
|
from .toplevel import FluToplevel
|
22
25
|
from .window import FluWindow
|
23
26
|
#from .winico import FluWinico
|
tkflu/__main__.py
CHANGED
@@ -27,14 +27,20 @@ menu2 = FluMenu(height=93)
|
|
27
27
|
menu2.add_command(
|
28
28
|
label="FluMenu3-1", width=80, command=lambda: print("FluMenu3-1 -> Clicked")
|
29
29
|
)
|
30
|
-
|
31
|
-
|
30
|
+
|
31
|
+
menu3 = FluMenu(height=46, width=10)
|
32
|
+
menu3.add_command(
|
33
|
+
label="FluMenu3-2-1", width=80, command=lambda: print("FluMenu3-2-1 -> Clicked")
|
34
|
+
)
|
35
|
+
|
36
|
+
menu2.add_cascade(
|
37
|
+
label="FluMenu3-2", width=80, menu=menu3
|
32
38
|
)
|
33
39
|
menubar.add_cascade(
|
34
40
|
label="FluMenu3", width=80, menu=menu2
|
35
41
|
)
|
36
42
|
|
37
|
-
menubar.pack(fill="x",)
|
43
|
+
menubar.pack(fill="x", )
|
38
44
|
|
39
45
|
frame = FluFrame(root)
|
40
46
|
|
@@ -54,6 +60,7 @@ button2 = FluButton(
|
|
54
60
|
)
|
55
61
|
button2.pack(fill="x", padx=5, pady=5)
|
56
62
|
|
63
|
+
|
57
64
|
def toggle1():
|
58
65
|
print(f"FluToggleButton -> Toggled -> Checked: {togglebutton1.dcget('checked')}")
|
59
66
|
if togglebutton1.dcget('checked'):
|
@@ -61,6 +68,7 @@ def toggle1():
|
|
61
68
|
else:
|
62
69
|
thememanager.mode("light")
|
63
70
|
|
71
|
+
|
64
72
|
togglebutton1 = FluToggleButton(
|
65
73
|
frame, text="FluToggleButton", command=toggle1
|
66
74
|
)
|
tkflu/button.py
CHANGED
@@ -4,25 +4,34 @@ from tkdeft.windows.drawwidget import DDrawWidget
|
|
4
4
|
|
5
5
|
|
6
6
|
class FluButtonDraw(DSvgDraw):
|
7
|
-
def
|
8
|
-
|
9
|
-
|
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
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
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,
|
25
|
-
stroke=
|
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 FluButtonDraw(DSvgDraw):
|
|
32
41
|
class FluButtonCanvas(DCanvas):
|
33
42
|
draw = FluButtonDraw
|
34
43
|
|
35
|
-
def
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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,
|
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 =
|
59
|
+
create_roundrect = create_round_rectangle_with_text
|
47
60
|
|
48
61
|
|
49
62
|
class FluButton(FluButtonCanvas, DDrawWidget):
|
@@ -55,6 +68,7 @@ class FluButton(FluButtonCanvas, DDrawWidget):
|
|
55
68
|
font=None,
|
56
69
|
mode="light",
|
57
70
|
style="standard",
|
71
|
+
state="normal",
|
58
72
|
**kwargs):
|
59
73
|
self._init(mode, style)
|
60
74
|
|
@@ -67,7 +81,8 @@ class FluButton(FluButtonCanvas, DDrawWidget):
|
|
67
81
|
|
68
82
|
self.dconfigure(
|
69
83
|
text=text,
|
70
|
-
command=command
|
84
|
+
command=command,
|
85
|
+
state=state,
|
71
86
|
)
|
72
87
|
|
73
88
|
self.bind("<<Clicked>>", lambda event=None: self.focus_set(), add="+")
|
@@ -88,31 +103,12 @@ class FluButton(FluButtonCanvas, DDrawWidget):
|
|
88
103
|
"text": "",
|
89
104
|
"command": None,
|
90
105
|
"font": None,
|
106
|
+
"state": "normal",
|
91
107
|
|
92
|
-
"rest": {
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
"border_width": 1,
|
97
|
-
"radius": 6,
|
98
|
-
"text_color": "#1b1b1b",
|
99
|
-
},
|
100
|
-
"hover": {
|
101
|
-
"back_color": "#fcfcfc",
|
102
|
-
"border_color": "#f0f0f0",
|
103
|
-
"border_color2": "#d6d6d6",
|
104
|
-
"border_width": 1,
|
105
|
-
"radius": 6,
|
106
|
-
"text_color": "#1b1b1b",
|
107
|
-
},
|
108
|
-
"pressed": {
|
109
|
-
"back_color": "#fdfdfd",
|
110
|
-
"border_color": "#f0f0f0",
|
111
|
-
"border_color2": "#f0f0f0",
|
112
|
-
"border_width": 1,
|
113
|
-
"radius": 6,
|
114
|
-
"text_color": "#636363",
|
115
|
-
}
|
108
|
+
"rest": {},
|
109
|
+
"hover": {},
|
110
|
+
"pressed": {},
|
111
|
+
"disabled": {}
|
116
112
|
}
|
117
113
|
)
|
118
114
|
|
@@ -121,35 +117,44 @@ class FluButton(FluButtonCanvas, DDrawWidget):
|
|
121
117
|
def _draw(self, event=None):
|
122
118
|
super()._draw(event)
|
123
119
|
|
120
|
+
width = self.winfo_width()
|
121
|
+
height = self.winfo_height()
|
122
|
+
|
124
123
|
self.delete("all")
|
125
124
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
125
|
+
state = self.dcget("state")
|
126
|
+
|
127
|
+
_dict = None
|
128
|
+
|
129
|
+
if state == "normal":
|
130
|
+
if self.enter:
|
131
|
+
if self.button1:
|
132
|
+
_dict = self.attributes.pressed
|
133
|
+
else:
|
134
|
+
_dict = self.attributes.hover
|
134
135
|
else:
|
135
|
-
|
136
|
-
_border_color = self.attributes.hover.border_color
|
137
|
-
_border_color2 = self.attributes.hover.border_color2
|
138
|
-
_border_width = self.attributes.hover.border_width
|
139
|
-
_radius = self.attributes.hover.radius
|
140
|
-
_text_color = self.attributes.hover.text_color
|
136
|
+
_dict = self.attributes.rest
|
141
137
|
else:
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
138
|
+
_dict = self.attributes.disabled
|
139
|
+
|
140
|
+
_back_color = _dict.back_color
|
141
|
+
_back_opacity = _dict.back_opacity
|
142
|
+
_border_color = _dict.border_color
|
143
|
+
_border_color_opacity = _dict.border_color_opacity
|
144
|
+
_border_color2 = _dict.border_color2
|
145
|
+
_border_color2_opacity = _dict.border_color2_opacity
|
146
|
+
_border_width = _dict.border_width
|
147
|
+
_radius = _dict.radius
|
148
|
+
_text_color = _dict.text_color
|
149
|
+
|
150
|
+
self.element_border = self.create_round_rectangle_with_text(
|
151
|
+
0, 0, width, height, _radius, temppath=self.temppath,
|
152
|
+
fill=_back_color, fill_opacity=_back_opacity,
|
153
|
+
outline=_border_color, outline_opacity=_border_color_opacity, outline2=_border_color2,
|
154
|
+
outline2_opacity=_border_color2_opacity,
|
155
|
+
width=_border_width,
|
152
156
|
)
|
157
|
+
|
153
158
|
self.element_text = self.create_text(
|
154
159
|
self.winfo_width() / 2, self.winfo_height() / 2, anchor="center",
|
155
160
|
fill=_text_color, text=self.attributes.text, font=self.attributes.font
|
@@ -179,27 +184,47 @@ class FluButton(FluButtonCanvas, DDrawWidget):
|
|
179
184
|
self.dconfigure(
|
180
185
|
rest={
|
181
186
|
"back_color": "#ffffff",
|
182
|
-
"
|
183
|
-
"
|
187
|
+
"back_opacity": "0.7",
|
188
|
+
"border_color": "#000000",
|
189
|
+
"border_color_opacity": "0.2",
|
190
|
+
"border_color2": "#000000",
|
191
|
+
"border_color2_opacity": "0.3",
|
184
192
|
"border_width": 1,
|
185
193
|
"radius": 6,
|
186
|
-
"text_color": "#
|
194
|
+
"text_color": "#000000",
|
187
195
|
},
|
188
196
|
hover={
|
189
|
-
"back_color": "#
|
190
|
-
"
|
191
|
-
"
|
197
|
+
"back_color": "#F9F9F9",
|
198
|
+
"back_opacity": "0.5",
|
199
|
+
"border_color": "#000000",
|
200
|
+
"border_color_opacity": "0.1",
|
201
|
+
"border_color2": "#000000",
|
202
|
+
"border_color2_opacity": "0.2",
|
192
203
|
"border_width": 1,
|
193
204
|
"radius": 6,
|
194
|
-
"text_color": "#
|
205
|
+
"text_color": "#000000",
|
195
206
|
},
|
196
207
|
pressed={
|
197
|
-
"back_color": "#
|
198
|
-
"
|
199
|
-
"
|
208
|
+
"back_color": "#F9F9F9",
|
209
|
+
"back_opacity": "0.3",
|
210
|
+
"border_color": "#000000",
|
211
|
+
"border_color_opacity": "0.1",
|
212
|
+
"border_color2": None,
|
213
|
+
"border_color2_opacity": None,
|
200
214
|
"border_width": 1,
|
201
215
|
"radius": 6,
|
202
216
|
"text_color": "#636363",
|
217
|
+
},
|
218
|
+
disabled={
|
219
|
+
"back_color": "#ffffff",
|
220
|
+
"back_opacity": "1.000000",
|
221
|
+
"border_color": "#000000",
|
222
|
+
"border_color_opacity": "0.058824",
|
223
|
+
"border_color2": "#000000",
|
224
|
+
"border_color2_opacity": "0.160784",
|
225
|
+
"border_width": 1,
|
226
|
+
"radius": 6,
|
227
|
+
"text_color": "#a2a2a2",
|
203
228
|
}
|
204
229
|
)
|
205
230
|
|
@@ -207,141 +232,251 @@ class FluButton(FluButtonCanvas, DDrawWidget):
|
|
207
232
|
self.dconfigure(
|
208
233
|
rest={
|
209
234
|
"back_color": "#ffffff",
|
210
|
-
"
|
211
|
-
"
|
235
|
+
"back_opacity": "0.7",
|
236
|
+
"border_color": "#000000",
|
237
|
+
"border_color_opacity": "0.2",
|
238
|
+
"border_color2": "#000000",
|
239
|
+
"border_color2_opacity": "0.3",
|
212
240
|
"border_width": 0,
|
213
241
|
"radius": 6,
|
214
|
-
"text_color": "#
|
242
|
+
"text_color": "#000000",
|
215
243
|
},
|
216
244
|
hover={
|
217
|
-
"back_color": "#
|
218
|
-
"
|
219
|
-
"
|
245
|
+
"back_color": "#F9F9F9",
|
246
|
+
"back_opacity": "0.5",
|
247
|
+
"border_color": "#000000",
|
248
|
+
"border_color_opacity": "0.1",
|
249
|
+
"border_color2": "#000000",
|
250
|
+
"border_color2_opacity": "0.2",
|
220
251
|
"border_width": 0,
|
221
252
|
"radius": 6,
|
222
|
-
"text_color": "#
|
253
|
+
"text_color": "#000000",
|
223
254
|
},
|
224
255
|
pressed={
|
225
|
-
"back_color": "#
|
226
|
-
"
|
227
|
-
"
|
256
|
+
"back_color": "#F9F9F9",
|
257
|
+
"back_opacity": "0.3",
|
258
|
+
"border_color": "#000000",
|
259
|
+
"border_color_opacity": "0.1",
|
260
|
+
"border_color2": None,
|
261
|
+
"border_color2_opacity": None,
|
228
262
|
"border_width": 0,
|
229
263
|
"radius": 6,
|
230
264
|
"text_color": "#636363",
|
265
|
+
},
|
266
|
+
disabled={
|
267
|
+
"back_color": "#ffffff",
|
268
|
+
"back_opacity": "1.000000",
|
269
|
+
"border_color": "#000000",
|
270
|
+
"border_color_opacity": "0.058824",
|
271
|
+
"border_color2": "#000000",
|
272
|
+
"border_color2_opacity": "0.160784",
|
273
|
+
"border_width": 0,
|
274
|
+
"radius": 6,
|
275
|
+
"text_color": "#a2a2a2",
|
231
276
|
}
|
232
277
|
)
|
233
278
|
|
234
279
|
def _light_accent(self):
|
235
280
|
self.dconfigure(
|
236
281
|
rest={
|
237
|
-
"back_color": "#
|
238
|
-
"
|
239
|
-
"
|
282
|
+
"back_color": "#005FB8",
|
283
|
+
"back_opacity": "1",
|
284
|
+
"border_color": "#FFFFFF",
|
285
|
+
"border_color_opacity": "0.08",
|
286
|
+
"border_color2": "#000000",
|
287
|
+
"border_color2_opacity": "0.4",
|
240
288
|
"border_width": 1,
|
241
289
|
"radius": 6,
|
242
290
|
"text_color": "#ffffff",
|
243
291
|
},
|
244
292
|
hover={
|
245
|
-
"back_color": "#
|
246
|
-
"
|
247
|
-
"
|
293
|
+
"back_color": "#005FB8",
|
294
|
+
"back_opacity": "0.9",
|
295
|
+
"border_color": "#FFFFFF",
|
296
|
+
"border_color_opacity": "0.08",
|
297
|
+
"border_color2": "#000000",
|
298
|
+
"border_color2_opacity": "0.4",
|
248
299
|
"border_width": 1,
|
249
300
|
"radius": 6,
|
250
301
|
"text_color": "#ffffff",
|
251
302
|
},
|
252
303
|
pressed={
|
253
|
-
"back_color": "#
|
254
|
-
"
|
255
|
-
"
|
304
|
+
"back_color": "#005FB8",
|
305
|
+
"back_opacity": "0.8",
|
306
|
+
"border_color": "#FFFFFF",
|
307
|
+
"border_color_opacity": "0.08",
|
308
|
+
"border_color2": "#FFFFFF",
|
309
|
+
"border_color2_opacity": "0.08",
|
256
310
|
"border_width": 1,
|
257
311
|
"radius": 6,
|
258
|
-
"text_color": "#
|
312
|
+
"text_color": "#c2d9ee",
|
313
|
+
},
|
314
|
+
disabled={
|
315
|
+
"back_color": "#000000",
|
316
|
+
"back_opacity": "0.22",
|
317
|
+
"border_color": "#FFFFFF",
|
318
|
+
"border_color_opacity": "1",
|
319
|
+
"border_color2": "#FFFFFF",
|
320
|
+
"border_color2_opacity": "1",
|
321
|
+
"border_width": 0,
|
322
|
+
"radius": 6,
|
323
|
+
"text_color": "#f3f3f3",
|
259
324
|
}
|
260
325
|
)
|
261
326
|
|
262
327
|
def _dark(self):
|
263
328
|
self.dconfigure(
|
264
329
|
rest={
|
265
|
-
"back_color": "#
|
266
|
-
"
|
267
|
-
"
|
330
|
+
"back_color": "#FFFFFF",
|
331
|
+
"back_opacity": "0.06",
|
332
|
+
"border_color": "#FFFFFF",
|
333
|
+
"border_color_opacity": "0.09",
|
334
|
+
"border_color2": "#FFFFFF",
|
335
|
+
"border_color2_opacity": "0.07",
|
268
336
|
"border_width": 1,
|
269
337
|
"radius": 6,
|
270
|
-
"text_color": "#
|
338
|
+
"text_color": "#FFFFFF",
|
271
339
|
},
|
272
340
|
hover={
|
273
|
-
"back_color": "#
|
274
|
-
"
|
275
|
-
"
|
341
|
+
"back_color": "#FFFFFF",
|
342
|
+
"back_opacity": "0.08",
|
343
|
+
"border_color": "#FFFFFF",
|
344
|
+
"border_color_opacity": "0.09",
|
345
|
+
"border_color2": "#FFFFFF",
|
346
|
+
"border_color2_opacity": "0.07",
|
276
347
|
"border_width": 1,
|
277
348
|
"radius": 6,
|
278
|
-
"text_color": "#
|
349
|
+
"text_color": "#FFFFFF",
|
279
350
|
},
|
280
351
|
pressed={
|
281
|
-
"back_color": "#
|
282
|
-
"
|
283
|
-
"
|
352
|
+
"back_color": "#FFFFFF",
|
353
|
+
"back_opacity": "0.03",
|
354
|
+
"border_color": "#FFFFFF",
|
355
|
+
"border_color_opacity": "0.07",
|
356
|
+
"border_color2": None,
|
357
|
+
"border_color2_opacity": None,
|
358
|
+
"border_width": 1,
|
359
|
+
"radius": 6,
|
360
|
+
"text_color": "#7D7D7D",
|
361
|
+
},
|
362
|
+
disabled={
|
363
|
+
"back_color": "#FFFFFF",
|
364
|
+
"back_opacity": "0.04",
|
365
|
+
"border_color": "#FFFFFF",
|
366
|
+
"border_color_opacity": "0.07",
|
367
|
+
"border_color2": None,
|
368
|
+
"border_color2_opacity": None,
|
284
369
|
"border_width": 1,
|
285
370
|
"radius": 6,
|
286
|
-
"text_color": "#
|
371
|
+
"text_color": "#a2a2a2",
|
287
372
|
}
|
288
373
|
)
|
289
374
|
|
290
375
|
def _dark_menu(self):
|
291
376
|
self.dconfigure(
|
292
377
|
rest={
|
293
|
-
"back_color": "#
|
294
|
-
"
|
295
|
-
"
|
378
|
+
"back_color": "#FFFFFF",
|
379
|
+
"back_opacity": "0",
|
380
|
+
"border_color": "#FFFFFF",
|
381
|
+
"border_color_opacity": "0",
|
382
|
+
"border_color2": "#FFFFFF",
|
383
|
+
"border_color2_opacity": "0",
|
296
384
|
"border_width": 0,
|
297
385
|
"radius": 6,
|
298
|
-
"text_color": "#
|
386
|
+
"text_color": "#FFFFFF",
|
299
387
|
},
|
300
388
|
hover={
|
301
|
-
"back_color": "#
|
302
|
-
"
|
303
|
-
"
|
389
|
+
"back_color": "#FFFFFF",
|
390
|
+
"back_opacity": "0.04",
|
391
|
+
"border_color": "#FFFFFF",
|
392
|
+
"border_color_opacity": "0.045",
|
393
|
+
"border_color2": "#FFFFFF",
|
394
|
+
"border_color2_opacity": "0.07",
|
304
395
|
"border_width": 0,
|
305
396
|
"radius": 6,
|
306
|
-
"text_color": "#
|
397
|
+
"text_color": "#FFFFFF",
|
307
398
|
},
|
308
399
|
pressed={
|
309
|
-
"back_color": "#
|
310
|
-
"
|
311
|
-
"
|
400
|
+
"back_color": "#FFFFFF",
|
401
|
+
"back_opacity": "0.015",
|
402
|
+
"border_color": "#FFFFFF",
|
403
|
+
"border_color_opacity": "0.035",
|
404
|
+
"border_color2": None,
|
405
|
+
"border_color2_opacity": None,
|
312
406
|
"border_width": 0,
|
313
407
|
"radius": 6,
|
314
|
-
"text_color": "#
|
408
|
+
"text_color": "#7D7D7D",
|
409
|
+
},
|
410
|
+
disabled={
|
411
|
+
"back_color": "#FFFFFF",
|
412
|
+
"back_opacity": "0",
|
413
|
+
"border_color": "#FFFFFF",
|
414
|
+
"border_color_opacity": "0",
|
415
|
+
"border_color2": None,
|
416
|
+
"border_color2_opacity": None,
|
417
|
+
"border_width": 0,
|
418
|
+
"radius": 6,
|
419
|
+
"text_color": "#a2a2a2",
|
315
420
|
}
|
316
421
|
)
|
317
422
|
|
318
423
|
def _dark_accent(self):
|
319
424
|
self.dconfigure(
|
320
425
|
rest={
|
321
|
-
"back_color": "#
|
322
|
-
"
|
323
|
-
"
|
426
|
+
"back_color": "#60CDFF",
|
427
|
+
"back_opacity": "1",
|
428
|
+
"border_color": "#FFFFFF",
|
429
|
+
"border_color_opacity": "0.08",
|
430
|
+
"border_color2": "#000000",
|
431
|
+
"border_color2_opacity": "0.14",
|
324
432
|
"border_width": 1,
|
325
433
|
"radius": 6,
|
326
434
|
"text_color": "#000000",
|
327
435
|
},
|
328
436
|
hover={
|
329
|
-
"back_color": "#
|
330
|
-
"
|
331
|
-
"
|
437
|
+
"back_color": "#60CDFF",
|
438
|
+
"back_opacity": "0.9",
|
439
|
+
"border_color": "#FFFFFF",
|
440
|
+
"border_color_opacity": "0.08",
|
441
|
+
"border_color2": "#000000",
|
442
|
+
"border_color2_opacity": "0.14",
|
332
443
|
"border_width": 1,
|
333
444
|
"radius": 6,
|
334
445
|
"text_color": "#000000",
|
335
446
|
},
|
336
447
|
pressed={
|
337
|
-
"back_color": "#
|
338
|
-
"
|
339
|
-
"
|
448
|
+
"back_color": "#60CDFF",
|
449
|
+
"back_opacity": "0.8",
|
450
|
+
"border_color": "#FFFFFF",
|
451
|
+
"border_color_opacity": "0.08",
|
452
|
+
"border_color2": None,
|
453
|
+
"border_color2_opacity": None,
|
454
|
+
"border_width": 1,
|
455
|
+
"radius": 6,
|
456
|
+
"text_color": "#295569",
|
457
|
+
},
|
458
|
+
disabled={
|
459
|
+
"back_color": "#FFFFFF",
|
460
|
+
"back_opacity": "0.16",
|
461
|
+
"border_color": "#FFFFFF",
|
462
|
+
"border_color_opacity": "0.16",
|
463
|
+
"border_color2": None,
|
464
|
+
"border_color2_opacity": None,
|
340
465
|
"border_width": 1,
|
341
466
|
"radius": 6,
|
342
|
-
"text_color": "#
|
467
|
+
"text_color": "#a7a7a7",
|
343
468
|
}
|
344
469
|
)
|
345
470
|
|
346
471
|
def invoke(self):
|
347
472
|
self.attributes.command()
|
473
|
+
|
474
|
+
def _event_off_button1(self, event=None):
|
475
|
+
self.button1 = False
|
476
|
+
|
477
|
+
self._draw(event)
|
478
|
+
|
479
|
+
if self.enter:
|
480
|
+
# self.focus_set()
|
481
|
+
if self.dcget("state") == "normal":
|
482
|
+
self.event_generate("<<Clicked>>")
|
tkflu/bwm.py
CHANGED
@@ -44,6 +44,12 @@ class BWm(object):
|
|
44
44
|
)
|
45
45
|
self.closebutton._draw()
|
46
46
|
|
47
|
+
def _event_key_esc(self, event=None):
|
48
|
+
self._event_delete_window()
|
49
|
+
|
50
|
+
def _event_delete_window(self):
|
51
|
+
self.destroy()
|
52
|
+
|
47
53
|
def _event_configure(self, event=None):
|
48
54
|
|
49
55
|
"""
|
@@ -71,9 +77,6 @@ class BWm(object):
|
|
71
77
|
|
72
78
|
self.theme(mode)
|
73
79
|
|
74
|
-
def _exit(self):
|
75
|
-
self.quit()
|
76
|
-
|
77
80
|
def theme(self, mode: str):
|
78
81
|
|
79
82
|
"""
|
@@ -139,7 +142,7 @@ class BWm(object):
|
|
139
142
|
self.titlebar = Frame(self, width=180, height=35, background=self.attributes.back_color)
|
140
143
|
self.titlelabel = FluLabel(self.titlebar, text=self.title(), width=50)
|
141
144
|
self.titlelabel.pack(fill="y", side="left")
|
142
|
-
self.closebutton = FluButton(self.titlebar, text="", width=32, height=32, command=lambda: self.
|
145
|
+
self.closebutton = FluButton(self.titlebar, text="", width=32, height=32, command=lambda: self._event_delete_window())
|
143
146
|
self.closebutton.pack(fill="y", side="right")
|
144
147
|
self.titlebar.pack(fill="x", side="top")
|
145
148
|
|