diff options
Diffstat (limited to 'Widgets/Dashboard.py')
-rw-r--r-- | Widgets/Dashboard.py | 62 |
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 |