COS3711
ASSIGNMENT 2 2025
UNIQUE NO.
DUE DATE: 2025
, COS3711 Assignment 2 (2025).
Part 1: Store Management Application (Qt C++)
#include <QApplication>
#include <QMainWindow>
#include <QTreeView>
#include <QStandardItemModel>
#include <QVBoxLayout>
#include <QPushButton>
#include <QUdpSocket>
#include <QMessageBox>
#include <QDateTime>
class StoreWindow : public QMainWindow {
Q_OBJECT
public:
StoreWindow() {
setWindowTitle("Store Management Application");
model = new QStandardItemModel();
model->setHorizontalHeaderLabels({"Customer", "Item", "Type",
"Quantity", "DateTime"});
QTreeView *treeView = new QTreeView;
treeView->setModel(model);
QPushButton *addTransactionBtn = new QPushButton("Add Transaction");
connect(addTransactionBtn, &QPushButton::clicked, this,
&StoreWindow::addTransaction);
QPushButton *broadcastBtn = new QPushButton("Broadcast
Transactions");
connect(broadcastBtn, &QPushButton::clicked, this,
&StoreWindow::broadcastTransactions);
QWidget *centralWidget = new QWidget;
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(treeView);
layout->addWidget(addTransactionBtn);
layout->addWidget(broadcastBtn);
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
}
private slots:
void addTransaction() {
QList<QStandardItem*> row;
row << new QStandardItem("John Doe");
row << new QStandardItem("Book Title");
row << new QStandardItem("Book");
row << new QStandardItem("2");
row << new QStandardItem(QDateTime::currentDateTime().toString());
ASSIGNMENT 2 2025
UNIQUE NO.
DUE DATE: 2025
, COS3711 Assignment 2 (2025).
Part 1: Store Management Application (Qt C++)
#include <QApplication>
#include <QMainWindow>
#include <QTreeView>
#include <QStandardItemModel>
#include <QVBoxLayout>
#include <QPushButton>
#include <QUdpSocket>
#include <QMessageBox>
#include <QDateTime>
class StoreWindow : public QMainWindow {
Q_OBJECT
public:
StoreWindow() {
setWindowTitle("Store Management Application");
model = new QStandardItemModel();
model->setHorizontalHeaderLabels({"Customer", "Item", "Type",
"Quantity", "DateTime"});
QTreeView *treeView = new QTreeView;
treeView->setModel(model);
QPushButton *addTransactionBtn = new QPushButton("Add Transaction");
connect(addTransactionBtn, &QPushButton::clicked, this,
&StoreWindow::addTransaction);
QPushButton *broadcastBtn = new QPushButton("Broadcast
Transactions");
connect(broadcastBtn, &QPushButton::clicked, this,
&StoreWindow::broadcastTransactions);
QWidget *centralWidget = new QWidget;
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(treeView);
layout->addWidget(addTransactionBtn);
layout->addWidget(broadcastBtn);
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
}
private slots:
void addTransaction() {
QList<QStandardItem*> row;
row << new QStandardItem("John Doe");
row << new QStandardItem("Book Title");
row << new QStandardItem("Book");
row << new QStandardItem("2");
row << new QStandardItem(QDateTime::currentDateTime().toString());