如何使用条件关闭带有确定按钮的对话框
How to close a dialog with an OK button using a condition
我的第一次尝试,所以我可以在 Mainwindow.cpp 中得到结果,但它可能 //incorrect
void Dialog::on_buttonBox_accepted()
{
Cities.clear();
for(int row = 0; row<ui->tableWidget->rowCount(); row++)
{
cities s(get_city(row),get_time(row,3),get_time(row,4));
Cities.push_back(s);
}
}
// my attempt to make another button but I could not get a result in
//Mainwindow.cpp but could check correctly
void Dialog::on_pushButton_clicked()
{
if(cities_is_filled())
{
Cities.clear();
for(int row = 0; row<ui->tableWidget->rowCount(); row++)
{
cities s(get_city(row),get_time(row,3),get_time(row,4));
Cities.push_back(s);
}
}
}
//GET RESULT
void MainWindow::on_actionAdd_train_triggered()
{
Dialog e;
if(e.exec())
{
for(auto City: e.Cities)
{
ui->textBrowser->append(City.city_+ " " + City.depart_+ " "
+City.leave_);
}
}
}
如果在我按确定时 table 单元格为空,对话框将关闭 - 但我希望它 不 关闭。我该如何实施?
在 buttonBox
上右键单击鼠标,然后 select Go To Slot...
然后选择 accepted()
插槽。
现在将您的条件添加到已接受的函数中:
void MainWindow::on_buttonBox_accepted()
{
if(ui->tableWidget->item(1,2)->text() != "") // for example
{
}
else
{
qApp->exit();
}
}
我的第一次尝试,所以我可以在 Mainwindow.cpp 中得到结果,但它可能 //incorrect
void Dialog::on_buttonBox_accepted()
{
Cities.clear();
for(int row = 0; row<ui->tableWidget->rowCount(); row++)
{
cities s(get_city(row),get_time(row,3),get_time(row,4));
Cities.push_back(s);
}
}
// my attempt to make another button but I could not get a result in
//Mainwindow.cpp but could check correctly
void Dialog::on_pushButton_clicked()
{
if(cities_is_filled())
{
Cities.clear();
for(int row = 0; row<ui->tableWidget->rowCount(); row++)
{
cities s(get_city(row),get_time(row,3),get_time(row,4));
Cities.push_back(s);
}
}
}
//GET RESULT
void MainWindow::on_actionAdd_train_triggered()
{
Dialog e;
if(e.exec())
{
for(auto City: e.Cities)
{
ui->textBrowser->append(City.city_+ " " + City.depart_+ " "
+City.leave_);
}
}
}
如果在我按确定时 table 单元格为空,对话框将关闭 - 但我希望它 不 关闭。我该如何实施?
在 buttonBox
上右键单击鼠标,然后 select Go To Slot...
然后选择 accepted()
插槽。
现在将您的条件添加到已接受的函数中:
void MainWindow::on_buttonBox_accepted()
{
if(ui->tableWidget->item(1,2)->text() != "") // for example
{
}
else
{
qApp->exit();
}
}