#include "movingcircle.h" #include "ui_movingcircle.h" #include MovingCircle::MovingCircle(QWidget *parent) : QDialog(parent), ui(new Ui::MovingCircle) { ui->setupUi(this); scene = new QGraphicsScene(this); ui->graphicsView->setScene(scene); car = new QGraphicsEllipseItem(0,0,30,30); car ->setBrush(QBrush(Qt::red)); scene->addItem(car); connect(ui->newPositionButton, &QPushButton::clicked, this, &MovingCircle::newPosition); } MovingCircle::~MovingCircle() { delete ui; delete car; delete scene; } void MovingCircle::newPosition() { bool ok; int deltax=20, deltay=30; QString text = QInputDialog::getText( this, // Parent widget "Enter car's new position", // Dialog title "Delta x movement:", // Prompt label QLineEdit::Normal, // Input mode "20", // Default value &ok // Was OK pressed? ); if (ok && !text.isEmpty()) deltax=text.toInt(); text = QInputDialog::getText( this, // Parent widget "Enter car's new position", // Dialog title "Delta y movement:", // Prompt label QLineEdit::Normal, // Input mode "30", // Default value &ok // Was OK pressed? ); if (ok && !text.isEmpty()) deltay=text.toInt(); car->moveBy(deltax, deltay); }