void MainWindow::sellTicketDialog() { int rowNum = trainTable->currentRow(); if(rowNum >= 0) { QString trainID_ = trainTable->item(rowNum, 0)->text(); QString departureTime_ = trainTable->item(rowNum, 3)->text(); QString price_ = trainTable->item(rowNum, 5)->text(); QStringList routesWithSeats; QComboBox *comboBox = (QComboBox*)trainTable->cellWidget(rowNum, 8); for(int i = 0 ; i < comboBox->count(); ++i) { routesWithSeats << comboBox->itemText(i); } SellDialog *sellDialog = new SellDialog(this); sellDialog->setTicketData(trainID_, departureTime_, price_, routesWithSeats); connect(sellDialog, &SellDialog::buyTicket, this, &MainWindow::sellTicket); sellDialog->exec(); } else { QMessageBox::warning(this, QString::fromLocal8Bit("购票失败"), QString::fromLocal8Bit("请选择要购买的车次")); } }