#include <QApplication>
#include <QMainWindow>
#include <QGraphicsScene>
#include <QGraphicsView>
{
public:
{
setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
setRenderHint
( QPainter::Antialiasing );
setDragMode( DragMode::RubberBandDrag );
}
void drawForeground
( QPainter* painter,
const QRectF
& rect
) {
QFont Font
( "Arial",
20 );
painter
->setPen
( QColor( 128,
128,
128,
128 ) );
painter->setFont( Font );
const int X = rect.right();
const int Y = rect.bottom();
const int Width = FontMetrics.width( "Name" );
const int Height = FontMetrics.height();
painter->drawText( X - Width - 5, Y - Height, Width, Height, Qt::AlignCenter, "Name" );
}
};
{
public:
{
Scene->setSceneRect(-DBL_MAX * 0.5f, -DBL_MAX * 0.5f, +DBL_MAX, +DBL_MAX);
setCentralWidget(new CustomGraphicsView(Scene, this));
}
};
int main(int argc, char *argv[])
{
MainWindow w;
w.show();
return a.exec();
}
#include <QApplication>
#include <QMainWindow>
#include <QGraphicsScene>
#include <QGraphicsView>
class CustomGraphicsView : public QGraphicsView
{
public:
CustomGraphicsView(QGraphicsScene* Scene, QWidget* Parent = 0) :
QGraphicsView(Scene, Parent)
{
setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
setRenderHint( QPainter::Antialiasing );
setDragMode( DragMode::RubberBandDrag );
}
void drawForeground( QPainter* painter, const QRectF& rect )
{
QFont Font( "Arial", 20 );
QFontMetrics FontMetrics( Font );
painter->setPen( QColor( 128, 128, 128, 128 ) );
painter->setFont( Font );
const int X = rect.right();
const int Y = rect.bottom();
const int Width = FontMetrics.width( "Name" );
const int Height = FontMetrics.height();
painter->drawText( X - Width - 5, Y - Height, Width, Height, Qt::AlignCenter, "Name" );
}
};
class MainWindow : public QMainWindow
{
public:
MainWindow(QWidget* parent = 0) :
QMainWindow(parent)
{
QGraphicsScene* Scene = new QGraphicsScene(this);
Scene->setSceneRect(-DBL_MAX * 0.5f, -DBL_MAX * 0.5f, +DBL_MAX, +DBL_MAX);
setCentralWidget(new CustomGraphicsView(Scene, this));
}
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks