aboutsummaryrefslogtreecommitdiffstats
path: root/Widgets/Dashboard.py
diff options
context:
space:
mode:
Diffstat (limited to 'Widgets/Dashboard.py')
-rw-r--r--Widgets/Dashboard.py62
1 files changed, 37 insertions, 25 deletions
diff --git a/Widgets/Dashboard.py b/Widgets/Dashboard.py
index e7e17a6..8b6a11f 100644
--- a/Widgets/Dashboard.py
+++ b/Widgets/Dashboard.py
@@ -14,12 +14,18 @@
limitations under the License.
"""
+from PyQt5 import QtCore, QtGui, QtWidgets
+from extras.FeedKuksa import FeedKuksa
import os
import sys
from PyQt5 import uic
-from PyQt5 import QtWidgets
+from PyQt5 import QtWidgets
+from PyQt5.QtWidgets import *
+from PyQt5.QtSvg import *
from PyQt5.QtCore import pyqtSignal
-from PyQt5 import QtCore, QtGui
+from PyQt5.QtGui import QIcon
+from PyQt5 import QtCore
+from PyQt5 import QtSvg
current_dir = os.path.dirname(os.path.abspath(__file__))
@@ -27,14 +33,11 @@ current_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.dirname(current_dir))
-from extras.FeedKuksa import FeedKuksa
Form, Base = uic.loadUiType(os.path.join(current_dir, "../ui/Dashboard.ui"))
# ========================================
-from PyQt5 import QtCore, QtGui, QtWidgets
-from PyQt5.QtCore import pyqtSignal
class Dashboard(Base, Form):
"""
@@ -64,33 +67,34 @@ class Dashboard(Base, Form):
self.feed_kuksa = FeedKuksa()
Dashboard_tiles = (self.DB_IC_Tile,
- self.DB_HVAC_Tile,
- self.DB_Steering_Tile,
- self.DB_Settings_Tile)
+ self.DB_HVAC_Tile,
+ self.DB_Steering_Tile,
+ self.DB_Settings_Tile)
DashboardTiles = QtWidgets.QButtonGroup(self)
-
+
DashboardTiles.buttonClicked.connect(self.tile_clicked)
for i, tile in enumerate(Dashboard_tiles):
- self.set_icon(tile, 55)
+ self.set_icon(tile, 90)
DashboardTiles.addButton(tile)
- def set_icon(self, tile, size):
- """
- Sets the icon for the given tile.
-
- Parameters:
- - tile: The tile for which the icon needs to be set.
- - size: The size of the icon.
- """
+ def set_icon(self, tile, icon_size):
try:
- icon = tile.icon()
- if icon.availableSizes():
- pixmap = icon.pixmap(icon.availableSizes()[0])
- scaled_pixmap = pixmap.scaled(size, size, QtCore.Qt.KeepAspectRatio, QtCore.Qt.SmoothTransformation)
- tile.setIcon(QtGui.QIcon(scaled_pixmap))
- tile.setIconSize(QtCore.QSize(size, size))
+ if tile == self.DB_IC_Tile:
+ file = ":/Carbon_Icons/carbon_icons/meter.svg"
+ if tile == self.DB_HVAC_Tile:
+ file = ":/Carbon_Icons/carbon_icons/windy--strong.svg"
+ if tile == self.DB_Steering_Tile:
+ file = ":/Images/Images/steering-wheel.svg"
+ if tile == self.DB_Settings_Tile:
+ file = ":/Carbon_Icons/carbon_icons/settings.svg"
+ getsize = QtSvg.QSvgRenderer(file)
+ svg_widget = QtSvg.QSvgWidget(file)
+ svg_widget.setFixedSize(getsize.defaultSize()*2)
+ svg_widget.setStyleSheet("background-color: transparent;")
+ tile.setIcon(QIcon(svg_widget.grab()))
+ tile.setIconSize(QtCore.QSize(icon_size, icon_size))
except Exception as e:
print(f"Failed to set icon: {e}")
@@ -110,4 +114,12 @@ class Dashboard(Base, Form):
elif tile == self.DB_Settings_Tile:
self.parent().setCurrentIndex(4)
- self.tileClickedSignal.emit() \ No newline at end of file
+ self.tileClickedSignal.emit()
+
+
+if __name__ == '__main__':
+ import sys
+ app = QApplication(sys.argv)
+ w = Dashboard()
+ w.show()
+ sys.exit(app.exec_()) \ No newline at end of file