MainWindow::MainWindow(const QString &artistTable, const QString &albumTable, QFile *albumDetails, QWidget *parent) : QMainWindow(parent) { file = albumDetails; readAlbumData(); model = new QSqlRelationalTableModel(this); model->setTable(albumTable); model->setRelation(2, QSqlRelation(artistTable, "id", "artist")); model->select(); QGroupBox *artists = createArtistGroupBox(); QGroupBox *albums = createAlbumGroupBox(); QGroupBox *details = createDetailsGroupBox(); artistView->setCurrentIndex(0); uniqueAlbumId = model->rowCount(); uniqueArtistId = artistView->count(); connect(model, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(updateHeader(QModelIndex,int,int))); connect(model, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(updateHeader(QModelIndex,int,int))); QGridLayout *layout = new QGridLayout; layout->addWidget(artists, 0, 0); layout->addWidget(albums, 1, 0); layout->addWidget(details, 0, 1, 2, 1); #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) layout->setColumnStretch(1, 1); layout->setColumnMinimumWidth(0, 500); #endif QWidget *widget = new QWidget; widget->setLayout(layout); setCentralWidget(widget); createMenuBar(); showImageLabel(); #if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) resize(850, 400); #endif setWindowTitle(tr("Music Archive")); }
MainWindow::MainWindow(const QString &factoryTable, const QString &carTable, QFile *carDetails, QWidget *parent) : QMainWindow(parent) { file = carDetails; readCarData(); carModel = new QSqlRelationalTableModel(this); carModel->setTable(carTable); // carModel->select(); carModel->setRelation(2, QSqlRelation(factoryTable, "id", "manufactory")); carModel->select(); factoryModel = new QSqlTableModel(this); factoryModel->setTable(factoryTable); factoryModel->select(); QGroupBox *factory = createFactoryGroupBox(); QGroupBox *cars = createCarGroupBox(); QGroupBox *details = createDetailsGroupBox(); uniqueCarId = carModel->rowCount(); uniqueFactoryId = factoryModel->rowCount(); QGridLayout *layout = new QGridLayout; layout->addWidget(factory, 0, 0); layout->addWidget(cars, 1, 0); layout->addWidget(details, 0, 1, 2, 1); layout->setColumnStretch(1, 1); layout->setColumnMinimumWidth(0, 500); QWidget *widget = new QWidget; widget->setLayout(layout); setCentralWidget(widget); createMenuBar(); resize(850, 400); setWindowTitle(tr("主从视图")); }