ToggleButton icon in QSCustomSlideMenu does not appear
Unsolved
Qt Creator and other tools
-
Hallo,
I am building my first App with QT Designer. I have made Slide Menu but the Menu Button does not appear.Hier my JSON Style FIle:
{ "ShowLogs": true, "QMainWindow": [ { "tittle": "GUI_with_SQLite" } ], "QSettings": [ { "ThemeSettings": [ { "CustomTheme": [ { "Background-color": "#000000", "Text-color": "#FFFFFF", "Accent-color": "#FFFFFF", "Icons-color": "#FFFFFF", "Theme-name": "Default-theme", "Default-Theme": true } ] } ], "AppSettings": { "OrginizationName": "GUI_with_SQLite", "ApplicationName": "GUI_with_SQLite Company", "OrginizationDormain": "GUI_with_SQLite.org" } } ], "QPushButtonGroup": [ { "Buttons": [ "homeBtn", "accountBtn", "RepotrtBtn", "aboutButton", "helpBtn", "settingsBtn" ], "Style": [ { "Active": "background-color:#1b1b27; border-left: 3px solid #cc5bce; font-weight:bold", "NotActive": "background-color:: transparent; border:none" } ] } ], "QCustomSlideMenu": [ { "name": "leftMenu", "defaultSize": [ { "width": 200, "height": "auto" } ], "collapsedSize": [ { "width": 0, "height": "auto" } ], "expandedSize": [ { "width": 200, "height": "auto" } ], "toggleButton": [ { "buttonName": "menuBtn", "icons": [{ "whenMenuIsCollapsed": ":/icons/icons/folder.png", "whenMenuIsExpanded": ":/icons/icons/left-chevron.png" }], "menuTransitionAnimation": [ { "animationDuration": 1000, "animationEasingCurve": "Linear" } ] } ] }], "QtBinding": "PySide6" }
And ui_interface.py
# -*- coding: utf-8 -*- ################################################################################ ## Form generated from reading UI file 'interfaceQMoNOo.ui' ## ## Created by: Qt User Interface Compiler version 6.8.2 ## ## WARNING! All changes made in this file will be lost when recompiling UI file! ################################################################################ from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale, QMetaObject, QObject, QPoint, QRect, QSize, QTime, QUrl, Qt) from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor, QFont, QFontDatabase, QGradient, QIcon, QImage, QKeySequence, QLinearGradient, QPainter, QPalette, QPixmap, QRadialGradient, QTransform) from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QLabel, QMainWindow, QPushButton, QSizePolicy, QSpacerItem, QStackedWidget, QVBoxLayout, QWidget) from Custom_Widgets.QCustomSlideMenu import QCustomSlideMenu import resources_rc class Ui_MainWindow(object): def setupUi(self, MainWindow): if not MainWindow.objectName(): MainWindow.setObjectName(u"MainWindow") MainWindow.resize(800, 600) MainWindow.setStyleSheet(u"background-color: rgb(27, 27, 39);\n" "QPushButton {text-align: left }") self.centralwidget = QWidget(MainWindow) self.centralwidget.setObjectName(u"centralwidget") self.centralwidget.setStyleSheet(u"background-color: #1b1b27;") self.verticalLayout = QVBoxLayout(self.centralwidget) self.verticalLayout.setSpacing(10) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.header = QWidget(self.centralwidget) self.header.setObjectName(u"header") self.header.setStyleSheet(u"background-color: rgb(39, 38, 60);") self.horizontalLayout = QHBoxLayout(self.header) self.horizontalLayout.setSpacing(0) self.horizontalLayout.setObjectName(u"horizontalLayout") self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.frame_2 = QFrame(self.header) self.frame_2.setObjectName(u"frame_2") self.frame_2.setFrameShape(QFrame.Shape.StyledPanel) self.frame_2.setFrameShadow(QFrame.Shadow.Raised) self.horizontalLayout_4 = QHBoxLayout(self.frame_2) self.horizontalLayout_4.setObjectName(u"horizontalLayout_4") self.menuBtn = QPushButton(self.frame_2) self.menuBtn.setObjectName(u"menuBtn") self.menuBtn.setStyleSheet(u"") icon = QIcon() icon.addFile(u":/icons/icons/folder.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off) self.menuBtn.setIcon(icon) self.horizontalLayout_4.addWidget(self.menuBtn) self.label = QLabel(self.frame_2) self.label.setObjectName(u"label") font = QFont() font.setPointSize(12) font.setBold(True) self.label.setFont(font) self.label.setStyleSheet(u"color: white;") self.horizontalLayout_4.addWidget(self.label) self.horizontalLayout.addWidget(self.frame_2, 0, Qt.AlignmentFlag.AlignLeft) self.frame = QFrame(self.header) self.frame.setObjectName(u"frame") self.frame.setFrameShape(QFrame.Shape.StyledPanel) self.frame.setFrameShadow(QFrame.Shadow.Raised) self.horizontalLayout_3 = QHBoxLayout(self.frame) self.horizontalLayout_3.setObjectName(u"horizontalLayout_3") self.pushButton_5 = QPushButton(self.frame) self.pushButton_5.setObjectName(u"pushButton_5") icon1 = QIcon() icon1.addFile(u":/icons/icons/search.png", QSize(), QIcon.Mode.Normal, QIcon.State.Off) self.pushButton_5.setIcon(icon1) self.horizontalLayout_3.addWidget(self.pushButton_5) self.pushButton_4 = QPushButton(self.frame) self.pushButton_4.setObjectName(u"pushButton_4") icon2 = QIcon() icon2.addFile(u":/icons/icons/bell (1).png", QSize(), QIcon.Mode.Normal, QIcon.State.Off) self.pushButton_4.setIcon(icon2) self.horizontalLayout_3.addWidget(self.pushButton_4) self.pushButton_3 = QPushButton(self.frame) self.pushButton_3.setObjectName(u"pushButton_3") icon3 = QIcon() iconThemeName = u"utilities-system-monitor" if QIcon.hasThemeIcon(iconThemeName): icon3 = QIcon.fromTheme(iconThemeName) else: icon3.addFile(u"../../../../../../.designer/backup", QSize(), QIcon.Mode.Normal, QIcon.State.Off) self.pushButton_3.setIcon(icon3) self.horizontalLayout_3.addWidget(self.pushButton_3) self.pushButton_2 = QPushButton(self.frame) self.pushButton_2.setObjectName(u"pushButton_2") self.pushButton_2.setEnabled(True) self.pushButton_2.setMinimumSize(QSize(38, 38)) self.pushButton_2.setMaximumSize(QSize(38, 38)) self.pushButton_2.setStyleSheet(u"border: 1px solid #cc5bce;\n" "border-radius: 19px;") icon4 = QIcon() iconThemeName = u"preferences-desktop-personal" if QIcon.hasThemeIcon(iconThemeName): icon4 = QIcon.fromTheme(iconThemeName) else: icon4.addFile(u"../../../../../../.designer/backup", QSize(), QIcon.Mode.Normal, QIcon.State.Off) self.pushButton_2.setIcon(icon4) self.pushButton_2.setIconSize(QSize(32, 32)) self.horizontalLayout_3.addWidget(self.pushButton_2) self.horizontalLayout.addWidget(self.frame, 0, Qt.AlignmentFlag.AlignRight) self.verticalLayout.addWidget(self.header, 0, Qt.AlignmentFlag.AlignTop) self.mainBody = QWidget(self.centralwidget) self.mainBody.setObjectName(u"mainBody") sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.mainBody.sizePolicy().hasHeightForWidth()) self.mainBody.setSizePolicy(sizePolicy) self.mainBody.setStyleSheet(u"background-color: rgb(39, 38, 60);") self.horizontalLayout_2 = QHBoxLayout(self.mainBody) self.horizontalLayout_2.setSpacing(0) self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.leftMenu = QCustomSlideMenu(self.mainBody) self.leftMenu.setObjectName(u"leftMenu") self.leftMenu.setMinimumSize(QSize(200, 0)) self.verticalLayout_3 = QVBoxLayout(self.leftMenu) self.verticalLayout_3.setSpacing(0) self.verticalLayout_3.setObjectName(u"verticalLayout_3") self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) self.widget = QWidget(self.leftMenu) self.widget.setObjectName(u"widget") self.widget.setMinimumSize(QSize(0, 0)) self.verticalLayout_4 = QVBoxLayout(self.widget) self.verticalLayout_4.setObjectName(u"verticalLayout_4") self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.frame_3 = QFrame(self.widget) self.frame_3.setObjectName(u"frame_3") self.frame_3.setEnabled(True) self.frame_3.setStyleSheet(u"QPushButton {\n" "text-align:left}") self.frame_3.setFrameShape(QFrame.Shape.StyledPanel) self.frame_3.setFrameShadow(QFrame.Shadow.Raised) self.verticalLayout_5 = QVBoxLayout(self.frame_3) self.verticalLayout_5.setSpacing(6) self.verticalLayout_5.setObjectName(u"verticalLayout_5") self.verticalLayout_5.setContentsMargins(5, 0, 0, 0) self.homeBtn = QPushButton(self.frame_3) self.homeBtn.setObjectName(u"homeBtn") self.homeBtn.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) self.homeBtn.setAutoFillBackground(False) self.homeBtn.setStyleSheet(u"text-align: left;\n" "padding: 3px 5px;\n" "background-color: #1b1b27;\n" "color: white;\n" "") self.verticalLayout_5.addWidget(self.homeBtn) self.RepotrtBtn = QPushButton(self.frame_3) self.RepotrtBtn.setObjectName(u"RepotrtBtn") self.RepotrtBtn.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) self.RepotrtBtn.setStyleSheet(u"text-align: left;\n" "padding: 3px 5px;\n" "background-color: #1b1b27;\n" "color: white;") self.verticalLayout_5.addWidget(self.RepotrtBtn) self.accountBtn = QPushButton(self.frame_3) self.accountBtn.setObjectName(u"accountBtn") self.accountBtn.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) self.accountBtn.setStyleSheet(u"text-align: left;\n" "padding: 3px 5px;\n" "background-color: #1b1b27;\n" "color: white;") self.verticalLayout_5.addWidget(self.accountBtn) self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding) self.verticalLayout_5.addItem(self.verticalSpacer) self.verticalLayout_4.addWidget(self.frame_3) self.frame_4 = QFrame(self.widget) self.frame_4.setObjectName(u"frame_4") self.frame_4.setStyleSheet(u"QPushButton {\n" "text-align:left}") self.frame_4.setFrameShape(QFrame.Shape.StyledPanel) self.frame_4.setFrameShadow(QFrame.Shadow.Raised) self.verticalLayout_6 = QVBoxLayout(self.frame_4) self.verticalLayout_6.setObjectName(u"verticalLayout_6") self.verticalLayout_6.setContentsMargins(0, 0, 0, 10) self.settingsBtn = QPushButton(self.frame_4) self.settingsBtn.setObjectName(u"settingsBtn") self.settingsBtn.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) self.settingsBtn.setStyleSheet(u"text-align: left;\n" "padding: 3px 5px;\n" "background-color: #1b1b27;\n" "color: white;\n" "") self.verticalLayout_6.addWidget(self.settingsBtn) self.helpBtn = QPushButton(self.frame_4) self.helpBtn.setObjectName(u"helpBtn") self.helpBtn.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) self.helpBtn.setStyleSheet(u"text-align: left;\n" "padding: 3px 5px;\n" "background-color: #1b1b27;\n" "color: white;") self.verticalLayout_6.addWidget(self.helpBtn) self.aboutButton = QPushButton(self.frame_4) self.aboutButton.setObjectName(u"aboutButton") self.aboutButton.setCursor(QCursor(Qt.CursorShape.PointingHandCursor)) self.aboutButton.setStyleSheet(u"text-align: left;\n" "padding: 3px 5px;\n" "background-color: #1b1b27;\n" "color: white;") self.verticalLayout_6.addWidget(self.aboutButton) self.verticalLayout_4.addWidget(self.frame_4) self.verticalLayout_3.addWidget(self.widget) self.horizontalLayout_2.addWidget(self.leftMenu) self.mainBodyContent = QWidget(self.mainBody) self.mainBodyContent.setObjectName(u"mainBodyContent") self.mainBodyContent.setStyleSheet(u"background-color: rgb(27, 27, 39);") self.verticalLayout_2 = QVBoxLayout(self.mainBodyContent) self.verticalLayout_2.setObjectName(u"verticalLayout_2") self.stackedWidget = QStackedWidget(self.mainBodyContent) self.stackedWidget.setObjectName(u"stackedWidget") self.page = QWidget() self.page.setObjectName(u"page") self.stackedWidget.addWidget(self.page) self.page_2 = QWidget() self.page_2.setObjectName(u"page_2") self.stackedWidget.addWidget(self.page_2) self.verticalLayout_2.addWidget(self.stackedWidget) self.horizontalLayout_2.addWidget(self.mainBodyContent) self.rightMenu = QWidget(self.mainBody) self.rightMenu.setObjectName(u"rightMenu") self.horizontalLayout_2.addWidget(self.rightMenu) self.verticalLayout.addWidget(self.mainBody) MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(1) QMetaObject.connectSlotsByName(MainWindow) # setupUi def retranslateUi(self, MainWindow): MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None)) self.menuBtn.setText("") self.label.setText(QCoreApplication.translate("MainWindow", u"MySQLite App", None)) self.pushButton_5.setText("") self.pushButton_4.setText("") self.pushButton_3.setText("") self.pushButton_2.setText("") self.homeBtn.setText(QCoreApplication.translate("MainWindow", u"Home", None)) self.RepotrtBtn.setText(QCoreApplication.translate("MainWindow", u"Reports", None)) self.accountBtn.setText(QCoreApplication.translate("MainWindow", u"MyAccount", None)) self.settingsBtn.setText(QCoreApplication.translate("MainWindow", u"Settings", None)) self.helpBtn.setText(QCoreApplication.translate("MainWindow", u"Help", None)) self.aboutButton.setText(QCoreApplication.translate("MainWindow", u"About", None)) # retranslateUi
-
@Adka said in ToggleButton icon in QSCustomSlideMenu does not appear:
icon.addFile(u":/icons/icons/folder.png"
Are you sure this path is correct? Please check this (e.g. with QFile::exists() or QDirIterator and/or by looking into the qrc file)
-
@Adka Can you please try what @Christian-Ehrlicher suggested? The fact that another file works does not mean that :/icons/icons/folder.png exists...
-
My qrc file:
<RCC> <qresource prefix="icons"> <file>icons/about.png</file> <file>icons/bell.png</file> <file>icons/bell (1).png</file> <file>icons/edit.png</file> <file>icons/file.png</file> <file>icons/folder.png</file> <file>icons/help.png</file> <file>icons/home.png</file> <file>icons/left-chevron.png</file> <file>icons/person.png</file> <file>icons/raports.png</file> <file>icons/search.png</file> <file>icons/settings.png</file> </qresource> </RCC>
It is inside