diff --git a/DataStructureProject.pro b/DataStructureProject.pro index 7fc2a88..96d7eb8 100644 --- a/DataStructureProject.pro +++ b/DataStructureProject.pro @@ -31,7 +31,8 @@ SOURCES += \ cars.cpp \ parkinglot.cpp \ ParkingLotWidget.cpp \ - Road.cpp + Road.cpp \ + ParkingSpaceWidget.cpp HEADERS += \ mainwindow.h \ @@ -39,7 +40,8 @@ HEADERS += \ cars.h \ parkinglot.h \ ParkingLotWidget.h \ - Road.h + Road.h \ + ParkingSpaceWidget.h FORMS += \ mainwindow.ui diff --git a/cars.cpp b/cars.cpp index 65e66a3..cd59e49 100644 --- a/cars.cpp +++ b/cars.cpp @@ -4,14 +4,33 @@ Cars::Cars(QWidget *parent) : QWidget(parent) { - m_color = Color(rand() % 3); + Cars(Color(rand() % 3), parent); +} + +Cars::Cars(Cars::Color color, QWidget *parent) : QWidget(parent) +{ + m_color = color; resize(200, 130); + switch (m_color) { + case Pink: + m_pixmap = QPixmap(":/cars/pink"); + break; + case Red: + m_pixmap = QPixmap(":/cars/red"); + break; + case Yellow: + m_pixmap = QPixmap(":/cars/yellow"); + break; + default: + m_pixmap = QPixmap(":/cars/red"); + break; + } } void Cars::paintEvent(QPaintEvent *event) { QPainter painter(this); - QPixmap pix(":/cars/yellow"); - painter.drawPixmap(0, 0, 200, 130, pix); + painter.drawPixmap(0, 0, 200, 130, m_pixmap); painter.setPen(QPen(Qt::red, 5)); painter.drawRect(0, 0, 200, 130); + event->ignore(); } diff --git a/cars.h b/cars.h index 9b1606c..a23f1b0 100644 --- a/cars.h +++ b/cars.h @@ -4,14 +4,15 @@ #include #include #include +#include class Cars : public QWidget { Q_OBJECT public: enum Color { Pink, Red, Yellow }; - explicit Cars(QWidget *parent = nullptr); - explicit Cars(Color color, QWidget *parenet = nullptr) {} + explicit Cars(QWidget *parent = nullptr); //Ëæ»úÑÕÉ« + explicit Cars(Color color, QWidget *parent = nullptr); void paintEvent(QPaintEvent *event); private: Color m_color; diff --git a/mainwindow.cpp b/mainwindow.cpp index 1d414fc..036d000 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -19,7 +19,7 @@ MainWindow::MainWindow(QWidget *parent) : // scrollArea->resize(1800, 800); // monitor = new Monitor(this); // Cars *car = new Cars(this); - ParkingLotWidget *pk = new ParkingLotWidget(this, "D:\\wming\\Documents\\DataStructureProject\\parkinglot_f1.xml"); + ParkingLotWidget *pk = new ParkingLotWidget(this, "parkinglot_f1.xml"); // pk->show(); // pk->creatMap(); /*QLabel *label = new QLabel(this);