Added gui prototype

This commit is contained in:
2025-12-25 12:13:44 +01:00
parent 20dc535488
commit 0bec8dfeb7
50 changed files with 727 additions and 0 deletions

82
doc/gui_test/.gitignore vendored Normal file
View File

@@ -0,0 +1,82 @@
# This file is used to ignore files which are generated
# ----------------------------------------------------------------------------
*~
*.autosave
*.a
*.core
*.moc
*.o
*.obj
*.orig
*.rej
*.so
*.so.*
*_pch.h.cpp
*_resource.rc
*.qm
.#*
*.*#
core
!core/
tags
.DS_Store
.directory
*.debug
Makefile*
*.prl
*.app
moc_*.cpp
ui_*.h
qrc_*.cpp
Thumbs.db
*.res
*.rc
/.qmake.cache
/.qmake.stash
# qtcreator generated files
*.pro.user*
*.qbs.user*
CMakeLists.txt.user*
# xemacs temporary files
*.flc
# Vim temporary files
.*.swp
# Visual Studio generated files
*.ib_pdb_index
*.idb
*.ilk
*.pdb
*.sln
*.suo
*.vcproj
*vcproj.*.*.user
*.ncb
*.sdf
*.opensdf
*.vcxproj
*vcxproj.*
# MinGW generated files
*.Debug
*.Release
# Python byte code
*.pyc
# Binaries
# --------
*.dll
*.exe
# Directories with generated files
.moc/
.obj/
.pch/
.rcc/
.uic/
/build*/

View File

@@ -0,0 +1,23 @@
<RCC>
<qresource prefix="/">
<file alias="gui_test.qss">resources/gui_test.qss</file>
<file alias="bionx_akku.png">resources/bionx_akku.png</file>
<file alias="bionx_console.png">resources/bionx_console.png</file>
<file alias="bionx_motor.png">resources/bionx_motor.png</file>
<file alias="connect.png">resources/connect.png</file>
<file alias="connected.png">resources/connected.png</file>
<file alias="disconnected.png">resources/disconnected.png</file>
<file alias="document-import.png">resources/document-import.png</file>
<file alias="document-revert.png">resources/document-revert.png</file>
<file alias="ocument-save.png">resources/document-save.png</file>
<file alias="document-save-as.png">resources/document-save-as.png</file>
<file alias="exit.png">resources/exit.png</file>
<file alias="go-first.png">resources/go-first.png</file>
<file alias="go-jump.png">resources/go-jump.png</file>
<file alias="go-last.png">resources/go-last.png</file>
<file alias="important.png">resources/important.png</file>
<file alias="restart.png">resources/restart.png</file>
<file alias="splash.pdn">resources/splash.pdn</file>
<file alias="splash.png">resources/splash.png</file>
</qresource>
</RCC>

27
doc/gui_test/gui_test.pro Normal file
View File

@@ -0,0 +1,27 @@
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++20
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
main.cpp \
mainwindow.cpp
HEADERS += \
mainwindow.h
FORMS += \
mainwindow.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
dummy_gui.qrc

40
doc/gui_test/main.cpp Normal file
View File

@@ -0,0 +1,40 @@
#include "mainwindow.h"
#include <QApplication>
#include <QApplication>
#include <QMetaEnum>
#include <QFile>
#include <QLabel>
#include <QProgressBar>
// main.cpp
#include <QCoreApplication>
#include <QTimer>
#include <QDebug>
bool setApplicationStyleSheet( QAnyStringView path )
{
QFile styleFile( path.toString() );
if (styleFile.open(QIODevice::ReadOnly | QIODevice::Text))
{
QString style = styleFile.readAll();
qApp->setStyleSheet(style);
styleFile.close();
return true;
}
qWarning() << "Konnte Stylesheet nicht laden:" << styleFile.errorString();
return true;
}
int main (int argc, char *argv[])
{
QApplication a (argc, argv);
setApplicationStyleSheet( u":gui_test.qss" );
MainWindow w;
w.show ();
return a.exec ();
}

View File

@@ -0,0 +1,16 @@
#include <mainwindow.h>
MainWindow::MainWindow (QWidget *parent)
: QMainWindow (parent)
{
setupUi (this);
_toolButtonMotor->setDefaultAction( _actionMotor );
_toolButtonBattery->setDefaultAction( _actionBattery );
_toolButtonConsole->setDefaultAction( _actionConsole );
}
MainWindow::~MainWindow ()
{
}

18
doc/gui_test/mainwindow.h Normal file
View File

@@ -0,0 +1,18 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <ui_mainwindow.h>
class MainWindow : public QMainWindow, public Ui_MainWindow
{
Q_OBJECT
public:
MainWindow (QWidget *parent = nullptr);
~MainWindow ();
};
#endif // MAINWINDOW_H

228
doc/gui_test/mainwindow.ui Normal file
View File

@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QWidget" name="_buttonWidget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>150</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>150</width>
<height>16777215</height>
</size>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QWidget" name="widget" native="true">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QToolButton" name="_toolButtonMotor_4">
<property name="minimumSize">
<size>
<width>96</width>
<height>96</height>
</size>
</property>
<property name="text">
<string>...</string>
</property>
<property name="iconSize">
<size>
<width>64</width>
<height>64</height>
</size>
</property>
<attribute name="buttonGroup">
<string notr="true">_buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QToolButton" name="_toolButtonConsole">
<property name="minimumSize">
<size>
<width>96</width>
<height>96</height>
</size>
</property>
<property name="text">
<string>...</string>
</property>
<property name="iconSize">
<size>
<width>64</width>
<height>64</height>
</size>
</property>
<attribute name="buttonGroup">
<string notr="true">_buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QToolButton" name="_toolButtonBattery">
<property name="minimumSize">
<size>
<width>96</width>
<height>96</height>
</size>
</property>
<property name="text">
<string>...</string>
</property>
<property name="iconSize">
<size>
<width>64</width>
<height>64</height>
</size>
</property>
<attribute name="buttonGroup">
<string notr="true">_buttonGroup</string>
</attribute>
</widget>
</item>
<item>
<widget class="QToolButton" name="_toolButtonMotor">
<property name="minimumSize">
<size>
<width>96</width>
<height>96</height>
</size>
</property>
<property name="text">
<string>...</string>
</property>
<property name="iconSize">
<size>
<width>64</width>
<height>64</height>
</size>
</property>
<attribute name="buttonGroup">
<string notr="true">_buttonGroup</string>
</attribute>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QStackedWidget" name="_stackedWidget">
<widget class="QWidget" name="page"/>
<widget class="QWidget" name="page_2"/>
</widget>
</item>
</layout>
</widget>
<widget class="QStatusBar" name="_statusbar"/>
<action name="_actionPimp">
<property name="icon">
<iconset>
<normaloff>:restart.png</normaloff>:restart.png</iconset>
</property>
<property name="text">
<string>pimp</string>
</property>
<property name="toolTip">
<string>Pimp my Ride</string>
</property>
</action>
<action name="_actionMotor">
<property name="icon">
<iconset resource="dummy_gui.qrc">
<normaloff>:/bionx_motor.png</normaloff>:/bionx_motor.png</iconset>
</property>
<property name="text">
<string>motor</string>
</property>
<property name="toolTip">
<string>Show motor settings</string>
</property>
</action>
<action name="_actionBattery">
<property name="icon">
<iconset resource="dummy_gui.qrc">
<normaloff>:/bionx_akku.png</normaloff>:/bionx_akku.png</iconset>
</property>
<property name="text">
<string>battery</string>
</property>
<property name="toolTip">
<string>Show battery settings</string>
</property>
</action>
<action name="_actionConsole">
<property name="icon">
<iconset resource="dummy_gui.qrc">
<normaloff>:/bionx_console.png</normaloff>:/bionx_console.png</iconset>
</property>
<property name="text">
<string>console</string>
</property>
<property name="toolTip">
<string>Show console settings</string>
</property>
</action>
<action name="_actionExit">
<property name="icon">
<iconset>
<normaloff>:/resources/exit.png</normaloff>:/resources/exit.png</iconset>
</property>
<property name="text">
<string>Exit</string>
</property>
<property name="toolTip">
<string>Exit</string>
</property>
</action>
<action name="_actionConnect">
<property name="icon">
<iconset>
<normaloff>:/resources/connected.png</normaloff>:/resources/connected.png</iconset>
</property>
<property name="text">
<string>connect</string>
</property>
<property name="toolTip">
<string>connect to bike</string>
</property>
<property name="menuRole">
<enum>QAction::MenuRole::TextHeuristicRole</enum>
</property>
</action>
</widget>
<resources>
<include location="dummy_gui.qrc"/>
</resources>
<connections/>
<buttongroups>
<buttongroup name="_buttonGroup"/>
</buttongroups>
</ui>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -0,0 +1,156 @@
<?xml version='1.0' encoding='UTF-8'?>
<Bike name='franken-wheeler'>
<Device Type="Console">
<Value ID='Cons_Rev_Hw' Label='Hardware Version' Default='' UnitType='Byte' />
<Value ID='Cons_Rev_Sw' Label='Software Version' Default='' UnitType='Byte' />
<Value ID='Cons_Sn_Product_Hi' Label='Product Number' Default='' UnitType='Word'/>
<Value ID='Cons_Sn_Oem_Hi' Label='OEM Number' Default='' UnitType='Word' />
<Value ID='Cons_Assist_Initlevel' Label='Assistance Init Level' Default='' UnitType='Assist' />
<Value ID='Cons_Assist_Level_1' Label='Assistance Level 1' Default='' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_2' Label='Assistance Level 2' Default='' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_3' Label='Assistance Level 3' Default='' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_4' Label='Assistance Level 4' Default='' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Assist_Maxspeed_Flag' Label='Max Limit Enabled' Default='' UnitType='Byte' />
<Value ID='Cons_Assist_Maxspeed_Hi' Label='Max Speed Limit' Default='' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Assist_Minspeed_Flag' Label='Min Limit Enabled' Default='' UnitType='Byte' />
<Value ID='Cons_Assist_Minspeed' Label='Min Speed Limit' Default='' UnitType='kmh'/>
<Value ID='Cons_Throttle_Maxspeed_Flag' Label='Throttle Limit Enabled' Default='' UnitType='Byte'/>
<Value ID='Cons_Throttle_Maxspeed_Hi' Label='Throttle Speed Limit' Default='' UnitType='kmh' Factor='0.1'/>
<Value ID='Cons_Geometry_Circ_Hi' Label='Wheel Circumference' Default='' UnitType='mm' />
<Value ID='Cons_Assist_Mountain_Cap' Label='Mountain Cap' Default='' UnitType='Percent' Factor='1.5625' />
</Device>
<Device Type="Battery">
</Device>
<Device Type="Motor">
</Device>
<Device Type="Sensor">
</Device>
</Bike>
<!--
printf( " odo .....................: Percent0.2f Km" _NL _NL,
((getValue(CONSOLE, CONSOLE_STATS_BCValueTypeWord_1) << 24) +
(getValue(CONSOLE, CONSOLE_STATS_BCValueTypeWord_2) << 16) +
(getValue(CONSOLE, CONSOLE_STATS_BCValueTypeWord_3) << 8) +
(getValue(CONSOLE, CONSOLE_STATS_BCValueTypeWord_4))) / (double)10
);
}
<Value ID='Cons_Stat_Dist_Hi' Label='' Default='' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Dist_Lo' Label='' Default='' UnitType='mm'/>
<Value ID='Cons_Stat_Avgspeed_Hi' Label='' Default='' UnitType='mm' Factor='0.1' />
<Value ID='Cons_Stat_Avgspeed_Lo' Label='' Default='' UnitType='mm'/>
<Value ID='Cons_Stat_Odo_Hihi' Label='' Default='' Factor='0.1' />
<Value ID='Cons_Stat_Odo_Hilo' Label='' Default='' />
<Value ID='Cons_Stat_Odomoter_Lohi' Label='' Default='' />
<Value ID='Cons_Stat_Odo_Lolo' Label='' Default='' />
<Value ID='Cons_Preference_Nip_Hihi' Label='' Default='' />
<Value ID='Cons_Preference_Nip_Hilo' Label='' Default='' />
<Value ID='Cons_Preference_Nip_Lohi' Label='' Default='' />
<Value ID='Cons_Preference_Nip_Lolo' Label='' Default='' />
<Value ID='Cons_Throttle_Calibrated' Label='' Default='' />
<Value ID='Cons_Stat_Chrono_Second' Label='' Default='' />
<Value ID='Cons_Stat_Chrono_Minute' Label='' Default='' />
<Value ID='Cons_Stat_Chrono_Hour' Label='' Default='' />
<Value ID='Cons_Preference_Lcd_Contrast' Label='' Default='' />
<Value ID='Cons_Sn_Location' Label='' Default='' />
<Value ID='Cons_Sn_Year' Label='' Default='' />
<Value ID='Cons_Sn_Month' Label='' Default='' />
<Value ID='Cons_Sn_Day' Label='' Default='' />
<Value ID='Cons_Sn_Pn_Hi' Label='' Default='' />
<Value ID='Cons_Sn_Pn_Lo' Label='' Default='' />
<Value ID='Cons_Sn_Item_Hi' Label='' Default='' />
<Value ID='Cons_Sn_Item_Lo' Label='' Default='' />
<Value ID='Cons_Assist_Gauge_Joint' Label='' Default='' Min='0' Max='11' />
<Value ID='Cons_Throttle_Min_Hi' Label='' Default='' />
<Value ID='Cons_Throttle_Min_Lo' Label='' Default='' />
<Value ID='Cons_Throttle_Max_Hi' Label='' Default='' />
<Value ID='Cons_Throttle_Max_Lo' Label='' Default='' />
<Value ID='Cons_Preference_Light_On_At_Start' Label='' Default='' />
<Value ID='Cons_Assist_Brake_Level' Label='' Default='' Min='0' Max='64' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Preference_Trip_To_Empty_Flag' Label='' Default='' />
<Value ID='Cons_Preference_Display_Units' Default='1' />
<Value ID='Cons_Throttle_Enabled_Onstrain' Label='' Default='' />
<Value ID='Cons_Assist_Brake_Flag' Default='1' />
<Value ID='Cons_Assist_Brake_Polarity' Label='' Default='' />
<Value ID='Cons_Assist_Gauge_Filter' Label='' Default='' Min='0' Max='8' />
<Value ID='Cons_Assist_Gauge_Gain' Label='' Default='' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_A' Label='' Default='' Min='0.1' Max='4.0' Factor='0.1' />
<Value ID='Cons_Assist_Gain_B' Label='' Default='' Min='0.1' Max='25.0' Factor='0.1' />
<Value ID='Cons_Sn_Type' Label='' Default='' />
<Value ID='Cons_Preference_Region' Label='' Default='' />
<Value ID='Cons_Preference_Configbit_0' Label='' Default='' />
<Value ID='Cons_Throttle_Enabled_Boost_Display' Label='' Default='' />
<Value ID='Cons_Assist_Autoregen_Flag' Label='' Default='' />
<Value ID='Cons_Rev_Sub' Label='' Default='' />
<Value ID='Cons_Preference_Light_Button_Mode' Label='' Default='' />
<Value ID='Cons_Preference_Expertmode' Label='' Default='' />
<Value ID='Cons_Preference_Codes_Hihi' Label='' Default='' />
<Value ID='Cons_Preference_Codes_Hilo' Label='' Default='' />
<Value ID='Cons_Preference_Codes_Lohi' Label='' Default='' />
<Value ID='Cons_Preference_Codes_Lolo' Label='' Default='' />
<Value ID='Cons_Preference_Codesrw_Hihi' Label='' Default='' />
<Value ID='Cons_Preference_Codesrw_Hilo' Label='' Default='' />
<Value ID='Cons_Preference_Codesrw_Lohi' Label='' Default='' />
<Value ID='Cons_Preference_Codesrw_Lolo' Label='' Default='' />
<Value ID='Cons_Preference_Throttle_Mode' Label='' Default='' />
<Value ID='Cons_Throttle_Boost_Triggerlevel' Label='' Default='' Min='1.5' Max='50.0' UnitType='Percent' Factor='1.5625' />
<Value ID='Cons_Preference_Flip_Side' Label='' Default='' />
<Value ID='Cons_Config_Testmode' Label='' Default='' />
<Value ID='Cons_Config_Testmode_Hw14' Label='' Default='' />
<Value ID='Cons_Config_Last_Mode' Label='' Default='' />
<Value ID='Cons_Assist_Speedgain' Label='' Default='' Factor='0.1' />
<Value ID='Cons_Config_Last_Mode_On' Label='' Default='' />
<Value ID='Cons_Config_Last_Mode_Off' Label='' Default='' />
<Value ID='Cons_Status_Slave' Label='' Default='' />
<Value ID='Cons_Throttle_Raw_Hi' Label='' Default='' />
<Value ID='Cons_Throttle_Raw_Lo' Label='' Default='' />
<Value ID='Cons_Throttle_Position' Label='' Default='' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_3' Label='' Default='' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_4' Label='' Default='' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Config_Service_Timestamp_Hi' Label='' Default='' />
<Value ID='Cons_Config_Service_Zimestamp_Lo' Label='' Default='' />
<Value ID='Cons_Config_Service_Distance_Hi' Label='' Default='' />
<Value ID='Cons_Config_Service_Distance_Lo' Label='' Default='' />
<Value ID='Cons_Assist_Level_Rekuperation_1' Label='' Default='' UnitType='Percent' Factor='1.5625'/>
<Value ID='Cons_Assist_Level_Rekuperation_2' Label='' Default='' UnitType='Percent' Factor='1.5625'/>
-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,137 @@
/* appqss */
/* Alle QWidgets bekommen diesen Font */
QWidget
{
font-size: 14px;
font-family: Segoe UI, sans-serif;
}
QMainWindow
{
background-color: white;
}
/* Style für _buttonWidget */
#_buttonWidget {
background-color: #e0e0e0;
border: 1px solid #b0b0b0;
border-radius: 8px;
}
/* Style für _stackedWidget */
#_stackedWidget {
background-color: #e0e0e0;
border: 1px solid #b0b0b0;
border-radius: 8px;
}
/* Spezifisches Styling für Buttons */
QPushButton
{
background-color: #0078d7;
color: white;
border-radius: 4px;
padding: 6px;
}
QPushButton:hover
{
background-color: #1084e3;
}
QPushButton:pressed
{
background-color: #005a9e;
}
/* Normal */
QToolButton {
background-color: transparent;
border: 1px solid transparent;
border-radius: 4px;
padding: 4px;
}
/* Hover */
QToolButton:hover {
background-color: #E3F2FD;
border: 1px solid #2196F3;
}
/* Pressed/Clicked */
QToolButton:pressed {
background-color: #BBDEFB;
}
/* Checked (bei checkable buttons) */
QToolButton:checked {
background-color: #2196F3;
color: white;
}
/* Checked + Hover */
QToolButton:checked:hover {
background-color: #1976D2;
}
/* Disabled */
QToolButton:disabled {
color: #BDBDBD;
background-color: transparent;
}
/* Styling anhand von Objektnamen (ID) */
#loginButton
{
font-weight: bold;
background-color: green;
}
QListView
{
background-color: #404142;
border-radius: 8px;
outline: none;
show-decoration-selected: 0;
}
QListView::item
{
border: 2px solid #2196F3;
border-radius: 8px;
padding: 8px;
margin: 4px;
background-color: white;
}
QListView::item:hover
{
border-color: #FF9800;
background-color: #fff8f0;
}
QListView::item:selected
{
border-color: #F44336; /* Roter Rahmen */
background-color: #ffebee;
}
QListView::item:selected:hover
{
border-color: #FF9800;
background-color: #ffe0b2;
}
QListView::item:focus
{
/*
// outline: none; Entfernt das Focus-Rectangle
// border-color: green;
// background-color: #ffe0b2;
*/
border: 2px solid gray;
border-style: inset;
background-color: white;
color: black;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 KiB