gui-utilities 1.1.0__tar.gz → 1.1.2__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.1.0
3
+ Version: 1.1.2
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,5 +1,5 @@
1
1
  from PyQt6.QtCore import Qt, QObject, QEvent, QSize
2
- from PyQt6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QLineEdit, QComboBox, QDialog, QToolButton, QWidgetAction
2
+ from PyQt6.QtWidgets import QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QLineEdit, QComboBox, QDialog, QToolButton, QWidgetAction, QCheckBox
3
3
  from PyQt6.QtGui import QIcon
4
4
  import re
5
5
  import requests
@@ -69,10 +69,10 @@ def create_form(
69
69
  button = create_button(**button_properties_copy)
70
70
  if callback: button.clicked.connect(callback)
71
71
  menu_layout.addWidget(button)
72
- ui_instance.form_widget = QWidget()
73
- ui_instance.form_widget.setLayout(QVBoxLayout())
74
- body_layout.addWidget(ui_instance.form_widget)
75
- ui_instance.form_widget.setStyleSheet("background-color: #333333;")
72
+ ui_instance.content_widget = QWidget()
73
+ ui_instance.content_widget.setLayout(QVBoxLayout())
74
+ body_layout.addWidget(ui_instance.content_widget)
75
+ ui_instance.content_widget.setStyleSheet("background-color: #333333;")
76
76
  body_layout.setStretch(0, 1)
77
77
  body_layout.setStretch(1, 4)
78
78
  return main_layout
@@ -353,6 +353,55 @@ def create_combo_box(
353
353
  change_color(-1)
354
354
  return combo_box
355
355
 
356
+ def create_checkbox(
357
+ text,
358
+ font_family = "Segoe UI",
359
+ font_size = 14,
360
+ font_color = "#ffffff",
361
+ background_color = "#1e1e1e",
362
+ padding = 15,
363
+ border_width = 2,
364
+ border_color = "#5c5c5c",
365
+ border_radius = 0,
366
+ hover_background_color = "#333333",
367
+ hover_border_width = 3,
368
+ hover_border_color = "#777777",
369
+ pressed_background_color = "#4a4a4a",
370
+ pressed_border_width = 3,
371
+ pressed_border_color = "#0078d7",
372
+ disabled_font_color = "#888888",
373
+ disabled_background_color = "#2d2d2d",
374
+ disabled_border_width = 2,
375
+ disabled_border_color = "#4a4a4a"
376
+ ):
377
+ checkbox = QCheckBox(text)
378
+ style_sheet = f"""
379
+ QCheckBox {{
380
+ font-family: {font_family};
381
+ font-size: {font_size}px;
382
+ color: {font_color};
383
+ background-color: {background_color};
384
+ padding: {padding}px;
385
+ border: {border_width}px solid {border_color};
386
+ border-radius: {border_radius}px;
387
+ }}
388
+ QCheckBox:hover {{
389
+ background-color: {hover_background_color};
390
+ border: {hover_border_width}px solid {hover_border_color};
391
+ }}
392
+ QCheckBox:pressed {{
393
+ background-color: {pressed_background_color};
394
+ border: {pressed_border_width}px solid {pressed_border_color};
395
+ }}
396
+ QCheckBox:disabled {{
397
+ color: {disabled_font_color};
398
+ background-color: {disabled_background_color};
399
+ border: {disabled_border_width}px solid {disabled_border_color};
400
+ }}
401
+ """
402
+ checkbox.setStyleSheet(style_sheet)
403
+ return checkbox
404
+
356
405
  def create_information_message_box(
357
406
  text,
358
407
  top_margin = 25,
@@ -641,6 +690,28 @@ def switch_instance(gui_instance, menu_function):
641
690
  else: gui_instance.window.layout().addWidget(new_widget)
642
691
  gui_instance.central_widget = new_widget
643
692
 
693
+ def switch_content_widget(content_widget):
694
+ def clear_layout(layout):
695
+ if layout is not None:
696
+ while layout.count():
697
+ item = layout.takeAt(0)
698
+ widget = item.widget()
699
+ child_layout = item.layout()
700
+ if widget is not None:
701
+ widget.setParent(None)
702
+ widget.deleteLater()
703
+ elif child_layout is not None:
704
+ clear_layout(child_layout)
705
+ child_layout.setParent(None)
706
+
707
+ if content_widget.layout() is not None: clear_layout(content_widget.layout())
708
+ for child in content_widget.findChildren(QWidget):
709
+ if child.parent() == content_widget: child.deleteLater()
710
+ main_layout = content_widget.layout()
711
+ main_layout.setContentsMargins(25, 25, 25, 25)
712
+ main_layout.setSpacing(10)
713
+ return main_layout
714
+
644
715
  def get_responsive_width(window, fraction = 3.0):
645
716
  screen_width = window.screen().size().width()
646
717
  return round(screen_width / fraction)
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="white" viewBox="0 0 16 16"><path d="M13.822 3.322l-8.471 8.44a.75.75 0 01-1.06 0L1.535 8.982a.75.75 0 011.06-1.06l2.894 2.894 7.94-7.94a.75.75 0 011.06 0z"/></svg>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gui_utilities
3
- Version: 1.1.0
3
+ Version: 1.1.2
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
@@ -7,6 +7,7 @@ gui_utilities.egg-info/SOURCES.txt
7
7
  gui_utilities.egg-info/dependency_links.txt
8
8
  gui_utilities.egg-info/requires.txt
9
9
  gui_utilities.egg-info/top_level.txt
10
+ gui_utilities/icons/check.svg
10
11
  gui_utilities/icons/focused_hide_text_icon.png
11
12
  gui_utilities/icons/focused_show_text_icon.png
12
13
  gui_utilities/icons/hide_text_icon.png
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "gui_utilities"
3
- version = "1.1.0"
3
+ version = "1.1.2"
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