Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsWidgets/lts_bitfield_widget.h
T
torsten f14faa04e5 Qt6-Migration: QObject-Include-Fixes + ui_requirement umbenannt
- #include <QObject> zu 106+ Header-Dateien hinzugefügt (Qt6 benötigt explizites Include)
- ui_requirement.h/cpp zu requirement_widget.h/cpp umbenannt (vermeidet AutoUIC-Scan)
- CMakeLists.txt aktualisiert
- Qt6Positioning-Dependency in Dockerfile hinzugefügt

Fixes:
- AutoUIC-Fehler bei AesBaseGui (requirement.ui nicht gefunden)
- QObject-Missing-Include-Fehler in Qt6
- Qt6Location-Modul nicht gefunden (qtpositioning fehlte)
2026-08-19 02:29:53 +02:00

97 lines
1.6 KiB
C++
Executable File

#pragma once
#include <QObject>
#include <QWidget>
#include <QMouseEvent>
#include "lts_widgets_export.h"
namespace LtsWidgets
{
class LTSWIDGETS_EXPORT LtsBitfieldWidget : public QWidget
{
Q_OBJECT
Q_PROPERTY(quint8 value READ value WRITE setValue NOTIFY valueChanged)
Q_PROPERTY(bool isEditable READ isEditable WRITE setEditable NOTIFY isEditableChanged)
Q_PROPERTY(bool hasCaption READ hasCaption WRITE setHasCaption NOTIFY hasCaptionChanged)
Q_PROPERTY(QColor onColor READ onColor WRITE setOnColor)
Q_PROPERTY(QColor offColor READ offColor WRITE setOffColor)
public:
explicit LtsBitfieldWidget(QWidget *parent = nullptr, quint8 value = 0);
signals:
void valueChanged(quint8 newValue);
void isEditableChanged(bool option);
void hasCaptionChanged(bool option);
public slots:
void setValue(quint8 value);
void setEditable(bool editable);
void setHasCaption(bool hasCaption);
void setOnColor(const QColor &onColor);
void setOffColor(const QColor &offColor);
public:
quint8 value() const { return m_value; }
bool isEditable() const { return m_isEditable; }
bool hasCaption() const { return m_hasCaption; }
QColor onColor() const {return m_onColor;}
QColor offColor() const {return m_offColor;}
private:
void mousePressEvent(QMouseEvent *event) override;
void paintEvent(QPaintEvent *pe) override;
private:
quint8 m_value = 0;
bool m_isEditable = true;
bool m_hasCaption = true;
QColor m_onColor = Qt::black;
QColor m_offColor = Qt::white;
};
}