gui-utilities 1.2.9__tar.gz → 1.3.6__tar.gz

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 gui-utilities might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gui_utilities
3
- Version: 1.2.9
3
+ Version: 1.3.6
4
4
  Summary: Librería de utilidades gráficas en PyQt6
5
5
  Author-email: Guido Iván Gross <grossguidoivan@gmail.com>
6
6
  Requires-Python: >=3.8
@@ -1,6 +1,6 @@
1
1
  from PyQt6.QtCore import Qt, QObject, QEvent, QSize
2
2
  from PyQt6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QLineEdit, QComboBox, QDialog, QToolButton, QWidgetAction, QCheckBox, QTableWidget, QHeaderView
3
- from PyQt6.QtGui import QIcon
3
+ from PyQt6.QtGui import QIcon, QFont, QFontMetrics
4
4
  import re
5
5
  import requests
6
6
  import importlib.resources
@@ -27,10 +27,10 @@ def create_form(
27
27
  title_font_color = "#ffffff",
28
28
  title_background_color = "#1e1e1e",
29
29
  title_padding = 15,
30
+ title_padding_left = None,
30
31
  title_padding_top = None,
31
32
  title_padding_right = None,
32
33
  title_padding_bottom = None,
33
- title_padding_left = None,
34
34
  title_border_width = 0,
35
35
  title_border_color = "#ffffff",
36
36
  title_border_radius = 0
@@ -44,10 +44,10 @@ def create_form(
44
44
  font_color = title_font_color,
45
45
  background_color = title_background_color,
46
46
  padding = title_padding,
47
+ padding_left = title_padding_left,
47
48
  padding_top = title_padding_top,
48
49
  padding_right = title_padding_right,
49
50
  padding_bottom = title_padding_bottom,
50
- padding_left = title_padding_left,
51
51
  border_width = title_border_width,
52
52
  border_color = title_border_color,
53
53
  border_radius = title_border_radius
@@ -85,6 +85,46 @@ def create_form(
85
85
  body_layout.setStretch(1, 4)
86
86
  return main_layout
87
87
 
88
+ def create_header(
89
+ title,
90
+ margin_left = 25,
91
+ margin_top = 25,
92
+ margin_right = 25,
93
+ margin_bottom = 25,
94
+ title_font_family = "Segoe UI",
95
+ title_font_size = 36,
96
+ title_font_color = "#ffffff",
97
+ title_background_color = "#1e1e1e",
98
+ title_padding = 15,
99
+ title_padding_left = None,
100
+ title_padding_top = None,
101
+ title_padding_right = None,
102
+ title_padding_bottom = None,
103
+ title_border_width = 0,
104
+ title_border_color = "#ffffff",
105
+ title_border_radius = 0
106
+ ):
107
+ main_layout = QVBoxLayout()
108
+ main_layout.setContentsMargins(margin_left, margin_top, margin_right, margin_bottom)
109
+ title_layout = create_title(
110
+ text = title,
111
+ font_family = title_font_family,
112
+ font_size = title_font_size,
113
+ font_color = title_font_color,
114
+ background_color = title_background_color,
115
+ padding = title_padding,
116
+ padding_left = title_padding_left,
117
+ padding_top = title_padding_top,
118
+ padding_right = title_padding_right,
119
+ padding_bottom = title_padding_bottom,
120
+ border_width = title_border_width,
121
+ border_color = title_border_color,
122
+ border_radius = title_border_radius
123
+ )
124
+ main_layout.addLayout(title_layout)
125
+ main_layout.addStretch()
126
+ return main_layout
127
+
88
128
  def create_title(
89
129
  text,
90
130
  font_family = "Segoe UI",
@@ -92,10 +132,10 @@ def create_title(
92
132
  font_color = "#ffffff",
93
133
  background_color = "#1e1e1e",
94
134
  padding = 15,
135
+ padding_left = None,
95
136
  padding_top = None,
96
137
  padding_right = None,
97
138
  padding_bottom = None,
98
- padding_left = None,
99
139
  border_width = 0,
100
140
  border_color = "#ffffff",
101
141
  border_radius = 0
@@ -111,10 +151,10 @@ def create_title(
111
151
  font_weight = "bold",
112
152
  background_color = background_color,
113
153
  padding = padding,
154
+ padding_left = padding_left,
114
155
  padding_top = padding_top,
115
156
  padding_right = padding_right,
116
157
  padding_bottom = padding_bottom,
117
- padding_left = padding_left,
118
158
  border_width = border_width,
119
159
  border_color = border_color,
120
160
  border_radius = border_radius
@@ -130,29 +170,29 @@ def create_label(
130
170
  font_weight = "normal",
131
171
  background_color = "#1e1e1e",
132
172
  padding = 15,
173
+ padding_left = None,
133
174
  padding_top = None,
134
175
  padding_right = None,
135
176
  padding_bottom = None,
136
- padding_left = None,
137
177
  border_width = 0,
138
178
  border_color = "#ffffff",
139
179
  border_radius = 0
140
180
  ):
141
181
  label = QLabel(text)
182
+ padding_left_value = padding_left if padding_left is not None else padding
142
183
  padding_top_value = padding_top if padding_top is not None else padding
143
184
  padding_right_value = padding_right if padding_right is not None else padding
144
185
  padding_bottom_value = padding_bottom if padding_bottom is not None else padding
145
- padding_left_value = padding_left if padding_left is not None else padding
146
186
  style = f"""
147
187
  font-family: {font_family};
148
188
  font-size: {font_size}px;
149
189
  color: {font_color};
150
190
  font-weight: {font_weight};
151
191
  background-color: {background_color};
192
+ padding-left: {padding_left_value}px;
152
193
  padding-top: {padding_top_value}px;
153
194
  padding-right: {padding_right_value}px;
154
195
  padding-bottom: {padding_bottom_value}px;
155
- padding-left: {padding_left_value}px;
156
196
  border: {border_width}px solid {border_color};
157
197
  border-radius: {border_radius}px;
158
198
  """
@@ -167,10 +207,10 @@ def create_button(
167
207
  font_weight = "bold",
168
208
  background_color = "#1e1e1e",
169
209
  padding = 15,
210
+ padding_left = None,
170
211
  padding_top = None,
171
212
  padding_right = None,
172
213
  padding_bottom = None,
173
- padding_left = None,
174
214
  border_width = 2,
175
215
  border_color = "#5c5c5c",
176
216
  border_radius = 0,
@@ -185,11 +225,17 @@ def create_button(
185
225
  disabled_border_width = 2,
186
226
  disabled_border_color = "#4a4a4a"
187
227
  ):
188
- button = QPushButton(text)
228
+ button = QPushButton()
229
+ button.setMaximumWidth(360)
230
+ main_layout = QVBoxLayout(button)
231
+ label = create_label(text = text, font_size = 16, font_weight = "bold", padding = 0)
232
+ label.setAlignment(Qt.AlignmentFlag.AlignCenter)
233
+ label.setWordWrap(True)
234
+ main_layout.addWidget(label)
235
+ padding_left_value = padding_left if padding_left is not None else padding
189
236
  padding_top_value = padding_top if padding_top is not None else padding
190
237
  padding_right_value = padding_right if padding_right is not None else padding
191
238
  padding_bottom_value = padding_bottom if padding_bottom is not None else padding
192
- padding_left_value = padding_left if padding_left is not None else padding
193
239
  style_sheet = f"""
194
240
  QPushButton {{
195
241
  font-family: {font_family};
@@ -197,10 +243,10 @@ def create_button(
197
243
  color: {font_color};
198
244
  font-weight: {font_weight};
199
245
  background-color: {background_color};
246
+ padding-left: {padding_left_value}px;
200
247
  padding-top: {padding_top_value}px;
201
248
  padding-right: {padding_right_value}px;
202
249
  padding-bottom: {padding_bottom_value}px;
203
- padding-left: {padding_left_value}px;
204
250
  border: {border_width}px solid {border_color};
205
251
  border-radius: {border_radius}px;
206
252
  }}
@@ -229,10 +275,10 @@ def create_text_box(
229
275
  font_weight = "normal",
230
276
  background_color = "#1e1e1e",
231
277
  padding = 15,
278
+ padding_left = None,
232
279
  padding_top = None,
233
280
  padding_right = None,
234
281
  padding_bottom = None,
235
- padding_left = None,
236
282
  border_width = 2,
237
283
  border_color = "#5c5c5c",
238
284
  border_radius = 0,
@@ -254,10 +300,10 @@ def create_text_box(
254
300
  ):
255
301
  text_box = QLineEdit()
256
302
  text_box.setPlaceholderText(placeholder_text)
303
+ padding_left_value = padding_left if padding_left is not None else padding
257
304
  padding_top_value = padding_top if padding_top is not None else padding
258
305
  padding_right_value = padding_right if padding_right is not None else padding
259
306
  padding_bottom_value = padding_bottom if padding_bottom is not None else padding
260
- padding_left_value = padding_left if padding_left is not None else padding
261
307
  style_sheet = f"""
262
308
  QLineEdit {{
263
309
  font-family: {font_family};
@@ -265,10 +311,10 @@ def create_text_box(
265
311
  color: {font_color};
266
312
  font-weight: {font_weight};
267
313
  background-color: {background_color};
314
+ padding-left: {padding_left_value}px;
268
315
  padding-top: {padding_top_value}px;
269
316
  padding-right: {padding_right_value}px;
270
317
  padding-bottom: {padding_bottom_value}px;
271
- padding-left: {padding_left_value}px;
272
318
  border: {border_width}px solid {border_color};
273
319
  border-radius: {border_radius}px;
274
320
  }}
@@ -343,10 +389,10 @@ def create_combo_box(
343
389
  font_color = "#ffffff",
344
390
  background_color = "#1e1e1e",
345
391
  padding = 15,
392
+ padding_left = None,
346
393
  padding_top = None,
347
394
  padding_right = None,
348
395
  padding_bottom = None,
349
- padding_left = None,
350
396
  border_width = 2,
351
397
  border_color = "#5c5c5c",
352
398
  border_radius = 0,
@@ -368,10 +414,10 @@ def create_combo_box(
368
414
  combo_box.addItems(items)
369
415
  combo_box.setCurrentIndex(-1)
370
416
 
417
+ padding_left_value = padding_left if padding_left is not None else padding
371
418
  padding_top_value = padding_top if padding_top is not None else padding
372
419
  padding_right_value = padding_right if padding_right is not None else padding
373
420
  padding_bottom_value = padding_bottom if padding_bottom is not None else padding
374
- padding_left_value = padding_left if padding_left is not None else padding
375
421
 
376
422
  def get_stylesheet(font_color):
377
423
  return f"""
@@ -380,10 +426,10 @@ def create_combo_box(
380
426
  font-size: {font_size}px;
381
427
  color: {font_color};
382
428
  background-color: {background_color};
429
+ padding-left: {padding_left_value}px;
383
430
  padding-top: {padding_top_value}px;
384
431
  padding-right: {padding_right_value}px;
385
432
  padding-bottom: {padding_bottom_value}px;
386
- padding-left: {padding_left_value}px;
387
433
  border: {border_width}px solid {border_color};
388
434
  border-radius: {border_radius}px;
389
435
  }}
@@ -422,10 +468,10 @@ def create_checkbox(
422
468
  font_color = "#ffffff",
423
469
  background_color = "#1e1e1e",
424
470
  padding = 5,
471
+ padding_left = None,
425
472
  padding_top = None,
426
473
  padding_right = None,
427
474
  padding_bottom = None,
428
- padding_left = None,
429
475
  indicator_background_color = "#1e1e1e",
430
476
  indicator_border_width = 1,
431
477
  indicator_border_color = "#5c5c5c",
@@ -445,20 +491,20 @@ def create_checkbox(
445
491
  disabled_border_color = "#4a4a4a"
446
492
  ):
447
493
  check_box = QCheckBox(text)
494
+ padding_left_value = padding_left if padding_left is not None else padding
448
495
  padding_top_value = padding_top if padding_top is not None else padding
449
496
  padding_right_value = padding_right if padding_right is not None else padding
450
497
  padding_bottom_value = padding_bottom if padding_bottom is not None else padding
451
- padding_left_value = padding_left if padding_left is not None else padding
452
498
  style_sheet = f"""
453
499
  QCheckBox {{
454
500
  font-family: {font_family};
455
501
  font-size: {font_size}px;
456
502
  color: {font_color};
457
503
  background-color: {background_color};
504
+ padding-left: {padding_left_value}px;
458
505
  padding-top: {padding_top_value}px;
459
506
  padding-right: {padding_right_value}px;
460
507
  padding-bottom: {padding_bottom_value}px;
461
- padding-left: {padding_left_value}px;
462
508
  }}
463
509
  QCheckBox::indicator {{
464
510
  image: none;
@@ -487,16 +533,16 @@ def create_checkbox(
487
533
  background-color: {disabled_background_color};
488
534
  border: {disabled_border_width}px solid {disabled_border_color};
489
535
  }}
490
- """
536
+ """
491
537
  check_box.setStyleSheet(style_sheet)
492
538
  return check_box
493
539
 
494
540
  def create_information_message_box(
495
541
  text,
496
- top_margin = 25,
497
- bottom_margin = 25,
498
542
  left_margin = 25,
543
+ top_margin = 25,
499
544
  right_margin = 25,
545
+ bottom_margin = 25,
500
546
  spacing = 10,
501
547
  background_color = "#1e1e1e",
502
548
  border_width = 2,
@@ -506,10 +552,10 @@ def create_information_message_box(
506
552
  label_font_size = 14,
507
553
  label_font_color = "#ffffff",
508
554
  label_padding = 15,
555
+ label_padding_left = None,
509
556
  label_padding_top = None,
510
557
  label_padding_right = None,
511
558
  label_padding_bottom = None,
512
- label_padding_left = None,
513
559
  label_border_width = 0,
514
560
  label_border_color = "#ffffff",
515
561
  label_border_radius = 0,
@@ -519,10 +565,10 @@ def create_information_message_box(
519
565
  button_font_color = "#ffffff",
520
566
  button_background_color = "#1e1e1e",
521
567
  button_padding = 15,
568
+ button_padding_left = None,
522
569
  button_padding_top = None,
523
570
  button_padding_right = None,
524
571
  button_padding_bottom = None,
525
- button_padding_left = None,
526
572
  button_border_width = 2,
527
573
  button_border_color = "#5c5c5c",
528
574
  button_border_radius = 0,
@@ -540,8 +586,7 @@ def create_information_message_box(
540
586
  message_box = QDialog()
541
587
  message_box.setObjectName("message_box")
542
588
  message_box.setWindowFlags(Qt.WindowType.FramelessWindowHint)
543
- message_box.setMinimumWidth(240)
544
- message_box.setMaximumWidth(480)
589
+ message_box.setFixedWidth(360)
545
590
  style_sheet = f"""
546
591
  QDialog#message_box {{
547
592
  background-color: {background_color};
@@ -561,16 +606,17 @@ def create_information_message_box(
561
606
  font_color= label_font_color,
562
607
  background_color = "transparent",
563
608
  padding = label_padding,
609
+ padding_left = label_padding_left,
564
610
  padding_top = label_padding_top,
565
611
  padding_right = label_padding_right,
566
612
  padding_bottom = label_padding_bottom,
567
- padding_left = label_padding_left,
568
613
  border_width = label_border_width,
569
614
  border_color = label_border_color,
570
615
  border_radius = label_border_radius
571
616
  )
572
617
  main_layout.addWidget(text_label)
573
-
618
+ text_label.setAlignment(Qt.AlignmentFlag.AlignCenter)
619
+ text_label.setWordWrap(True)
574
620
  accept_button = create_button(
575
621
  text = button_text,
576
622
  font_family = button_font_family,
@@ -578,10 +624,10 @@ def create_information_message_box(
578
624
  font_color = button_font_color,
579
625
  background_color = button_background_color,
580
626
  padding = button_padding,
627
+ padding_left = button_padding_left,
581
628
  padding_top = button_padding_top,
582
629
  padding_right = button_padding_right,
583
630
  padding_bottom = button_padding_bottom,
584
- padding_left = button_padding_left,
585
631
  border_width = button_border_width,
586
632
  border_color = button_border_color,
587
633
  border_radius = button_border_radius,
@@ -602,10 +648,10 @@ def create_information_message_box(
602
648
 
603
649
  def create_confirmation_message_box(
604
650
  text,
605
- top_margin = 25,
606
- bottom_margin = 25,
607
651
  left_margin = 25,
652
+ top_margin = 25,
608
653
  right_margin = 25,
654
+ bottom_margin = 25,
609
655
  main_spacing = 10,
610
656
  button_spacing = 10,
611
657
  background_color = "#1e1e1e",
@@ -616,10 +662,10 @@ def create_confirmation_message_box(
616
662
  label_font_size = 14,
617
663
  label_font_color = "#ffffff",
618
664
  label_padding = 15,
665
+ label_padding_left = None,
619
666
  label_padding_top = None,
620
667
  label_padding_right = None,
621
668
  label_padding_bottom = None,
622
- label_padding_left = None,
623
669
  label_border_width = 0,
624
670
  label_border_color = "#ffffff",
625
671
  label_border_radius = 0,
@@ -628,10 +674,10 @@ def create_confirmation_message_box(
628
674
  button_font_color = "#ffffff",
629
675
  button_background_color = "#1e1e1e",
630
676
  button_padding = 15,
677
+ button_padding_left = None,
631
678
  button_padding_top = None,
632
679
  button_padding_right = None,
633
680
  button_padding_bottom = None,
634
- button_padding_left = None,
635
681
  button_border_width = 2,
636
682
  button_border_color = "#5c5c5c",
637
683
  button_border_radius = 0,
@@ -649,8 +695,7 @@ def create_confirmation_message_box(
649
695
  confirm_message_box = QDialog()
650
696
  confirm_message_box.setObjectName("confirm_message_box")
651
697
  confirm_message_box.setWindowFlags(Qt.WindowType.FramelessWindowHint)
652
- confirm_message_box.setMinimumWidth(240)
653
- confirm_message_box.setMaximumWidth(480)
698
+ confirm_message_box.setFixedWidth(360)
654
699
  style_sheet = f"""
655
700
  QDialog#confirm_message_box {{
656
701
  background-color: {background_color};
@@ -663,8 +708,6 @@ def create_confirmation_message_box(
663
708
  confirm_message_box.setLayout(main_layout)
664
709
  main_layout.setContentsMargins(left_margin, top_margin, right_margin, bottom_margin)
665
710
  main_layout.setSpacing(main_spacing)
666
- text_layout = QHBoxLayout()
667
- main_layout.addLayout(text_layout)
668
711
  text_label = create_label(
669
712
  text = text,
670
713
  font_family = label_font_family,
@@ -672,15 +715,17 @@ def create_confirmation_message_box(
672
715
  font_color = label_font_color,
673
716
  background_color = "transparent",
674
717
  padding = label_padding,
718
+ padding_left = label_padding_left,
675
719
  padding_top = label_padding_top,
676
720
  padding_right = label_padding_right,
677
721
  padding_bottom = label_padding_bottom,
678
- padding_left = label_padding_left,
679
722
  border_width = label_border_width,
680
723
  border_color = label_border_color,
681
724
  border_radius = label_border_radius
682
725
  )
683
- text_layout.addWidget(text_label)
726
+ main_layout.addWidget(text_label)
727
+ text_label.setAlignment(Qt.AlignmentFlag.AlignCenter)
728
+ text_label.setWordWrap(True)
684
729
  buttons_layout = QHBoxLayout()
685
730
  main_layout.addLayout(buttons_layout)
686
731
  buttons_layout.setSpacing(button_spacing)
@@ -691,10 +736,10 @@ def create_confirmation_message_box(
691
736
  font_color = button_font_color,
692
737
  background_color = button_background_color,
693
738
  padding = button_padding,
739
+ padding_left = button_padding_left,
694
740
  padding_top = button_padding_top,
695
741
  padding_right = button_padding_right,
696
742
  padding_bottom = button_padding_bottom,
697
- padding_left = button_padding_left,
698
743
  border_width = button_border_width,
699
744
  border_color = button_border_color,
700
745
  border_radius = button_border_radius,
@@ -718,10 +763,10 @@ def create_confirmation_message_box(
718
763
  font_color = button_font_color,
719
764
  background_color = button_background_color,
720
765
  padding = button_padding,
766
+ padding_left = button_padding_left,
721
767
  padding_top = button_padding_top,
722
768
  padding_right = button_padding_right,
723
769
  padding_bottom = button_padding_bottom,
724
- padding_left = button_padding_left,
725
770
  border_width = button_border_width,
726
771
  border_color = button_border_color,
727
772
  border_radius = button_border_radius,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gui_utilities
3
- Version: 1.2.9
3
+ Version: 1.3.6
4
4
  Summary: Librería de utilidades gráficas en PyQt6
5
5
  Author-email: Guido Iván Gross <grossguidoivan@gmail.com>
6
6
  Requires-Python: >=3.8
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "gui_utilities"
3
- version = "1.2.9"
3
+ version = "1.3.6"
4
4
  description = "Librería de utilidades gráficas en PyQt6"
5
5
  authors = [{name = "Guido Iván Gross", email = "grossguidoivan@gmail.com"}]
6
6
  requires-python = ">=3.8"
File without changes
File without changes
File without changes