Reworked value handling.
This commit is contained in:
@@ -30,29 +30,21 @@ void BCDelightPMWidget::loadWidgetsFromResources()
|
||||
|
||||
QString resourcePath = ":/resources/smile";
|
||||
|
||||
// 2. Iterator erstellen
|
||||
// QDir::Files sorgt dafür, dass wir nur echte Dateien finden, keine Ordner wie "." oder ".."
|
||||
// QDirIterator::Subdirectories würde auch in Unterordnern suchen (falls nötig)
|
||||
QDirIterator it(resourcePath, QDir::Files);
|
||||
|
||||
//QFileInfoList fileList:
|
||||
// 3. Schleife: Solange es noch Einträge gibt
|
||||
while (it.hasNext())
|
||||
{
|
||||
// Iteriert zum nächsten Eintrag und gibt den kompletten virtuellen Pfad zurück
|
||||
// z.B. ":/icons/ball_red.png"
|
||||
QString fullPath = it.next();
|
||||
// Eine Zufallsfarbe für den Button-Hintergrund generieren
|
||||
QStringList colors = {"#ff5555", "#50fa7b", "#8be9fd", "#ffb86c"};
|
||||
QString randomColor = colors.at(QRandomGenerator::global()->bounded(colors.size()));
|
||||
|
||||
// Ihre Funktion aufrufen und den Pfad übergeben
|
||||
createFlyingWidget(fullPath, randomColor);
|
||||
createFlyingWidget(fullPath);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void BCDelightPMWidget::createFlyingWidget(const QString& iconPath, const QString &color)
|
||||
void BCDelightPMWidget::createFlyingWidget(const QString& iconPath)
|
||||
{
|
||||
// 1. Button als Kind des Playground erstellen
|
||||
QPushButton *btn = new QPushButton(_playGround);
|
||||
@@ -86,24 +78,16 @@ void BCDelightPMWidget::createFlyingWidget(const QString& iconPath, const QStrin
|
||||
|
||||
btn->show();
|
||||
|
||||
// --- NEU: Opacity Effekt hinzufügen ---
|
||||
// 1. Effekt erstellen. 'btn' wird der Parent und kümmert sich ums Löschen.
|
||||
QGraphicsOpacityEffect *opacityEff = new QGraphicsOpacityEffect(btn);
|
||||
|
||||
// 2. Startwert setzen (1.0 = voll sichtbar)
|
||||
opacityEff->setOpacity(1.0);
|
||||
|
||||
// 3. Dem Widget zuweisen. WICHTIG: Das Widget übernimmt den Besitz.
|
||||
btn->setGraphicsEffect(opacityEff);
|
||||
// --------------------------------------
|
||||
|
||||
btn->show();
|
||||
// ... (Rest der Funktion: move und append) ...
|
||||
|
||||
btn->move(50 + _flyingWidgets.size() * 60, 50);
|
||||
_flyingWidgets.append(btn);
|
||||
|
||||
|
||||
// Startzustand: Unsichtbar in der Mitte
|
||||
btn->move(_playGround->width()/2, _playGround->height()/2);
|
||||
opacityEff->setOpacity(0.0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user