У меня есть QDialog, у которого есть некоторые настройки, на основе которых QTreeView или весь QMainWindow необходимо обновить, перекрасить или обновить.
QDialog имеет две кнопки:
Применить: эта кнопка должна применить настройки к QMainWindow, такие как цвет к столбцам QTreeView.Это один пример, в QMainWindow есть больше элементов, таких как QTableView и т. Д., Которые также необходимо обновить при нажатии этой кнопки.
Закрыть: эта кнопка скрывает QDialog.
Я пытался вызвать функцию перекраски / обновления в QMainWindow при нажатии кнопки Apply, но ничего не работает.
void MainWindow::refresh()
{
setUpdatesEnabled(true);
setWindowModified(true);
repaint();
update();
show();
}
Однако при нажатии кнопки закрытия, которая вызывает функцию Hide на QDialog,весь вид на QMainWindow обновляется / перекрашивается.
Мне нужно сделать то же самое с кнопкой Применить.
Как этого добиться?Что такое слот, который QDialog-> hide вызывает на QMainWindow?