void FadeMessage::setupScene() { QGraphicsRectItem *parent = m_scene.addRect(0, 0, 800, 600); parent->setPen(Qt::NoPen); parent->setZValue(0); QGraphicsPixmapItem *bg = m_scene.addPixmap(QPixmap(":/background.jpg")); bg->setParentItem(parent); bg->setZValue(-1); for (int i = 1; i < 5; ++i) for (int j = 2; j < 5; ++j) { QGraphicsRectItem *item = m_scene.addRect(i * 50, (j - 1) * 50, 38, 38); item->setParentItem(parent); item->setZValue(1); int hue = 12 * (i * 5 + j); item->setBrush(QColor::fromHsv(hue, 128, 128)); } QFont font; font.setPointSize(font.pointSize() * 2); font.setBold(true); QFontMetrics fontMetrics(font); int fh = fontMetrics.height(); QString sceneText = "Qt Everywhere!"; int sceneTextWidth = fontMetrics.width(sceneText); QGraphicsRectItem *block = m_scene.addRect(50, 300, sceneTextWidth, fh + 3); block->setPen(Qt::NoPen); block->setBrush(QColor(102, 153, 51)); QGraphicsTextItem *text = m_scene.addText(sceneText, font); text->setDefaultTextColor(Qt::white); text->setPos(50, 300); block->setZValue(2); block->hide(); text->setParentItem(block); m_message = block; m_effect = new QGraphicsColorizeEffect; m_effect->setColor(QColor(122, 193, 66)); m_effect->setStrength(0); m_effect->setEnabled(true); parent->setGraphicsEffect(m_effect); QPushButton *press = new QPushButton; press->setText(tr("Press me")); connect(press, SIGNAL(clicked()), SLOT(togglePopup())); m_scene.addWidget(press); #if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) press->move(200, 210); #else press->move(300, 500); #endif }