6scene.addText(
"Hello, world!");
17QPrinter printer(QPrinter::HighResolution);
18printer.setPaperSize(QPrinter::A4);
20QPainter painter(&printer);
21scene.render(&painter);
26QSizeF segmentSize = sceneRect().size() / pow(2, depth - 1);
32QGraphicsView view(&scene);
36scene.setBackgroundBrush(Qt::blue);
39QRadialGradient gradient(0, 0, 10);
40gradient.setSpread(QGradient::RepeatSpread);
41scene.setBackgroundBrush(gradient);
47QGraphicsView view(&scene);
51scene.setForegroundBrush(QColor(255, 255, 255, 127));
54scene.setForegroundBrush(QBrush(Qt::lightGray, Qt::CrossPattern));
59QRectF TileScene::rectForTile(
int x,
int y)
const
62 return QRectF(x * tileWidth, y * tileHeight, tileWidth, tileHeight);
65void TileScene::setTile(
int x,
int y,
const QPixmap &pixmap)
68 if (x >= 0 && x < numTilesH && y >= 0 && y < numTilesV) {
70 invalidate(rectForTile(x, y), BackgroundLayer);
74void TileScene::drawBackground(QPainter *painter,
const QRectF &exposed)
77 for (
int y = 0; y < numTilesV; ++y) {
78 for (
int x = 0; x < numTilesH; ++x) {
79 QRectF rect = rectForTile(x, y);
80 if (exposed.intersects(rect))
81 painter->drawPixmap(rect.topLeft(), tiles[y][x]);