Вот программа, а вот скриншот.
Вот также код для showGridAction
(в котором я вижу проблемы) внутри: функции void MainWindow::createActions()
(в MainWindow.cpp
):
showGridAction = new QAction(tr("&Show Grid"), this);
showGridAction -> setCheckable(true);
showGridAction -> setChecked(spreadsheet -> showGrid());
showGridAction -> setStatusTip(tr("Show or hide the spreadsheet's"
" grid"));
connect(showGridAction, SIGNAL(toggled(bool)),
spreadsheet, SLOT(setShowGride(bool)));
#if QT_VERSION < 0x040102
// workaround for a QTableWidget bug in Qt 4.1.1
connect(showGridAction, SIGNAL(toggled(bool)),
spreadsheet->viewport(), SLOT(update()));
#endif
Мои вопросы:
1- Сначала я думаю, что часть #if QT_VERSION < 0x040102
до #endif
больше не нужна, потому что я использую Qt 5.9. Вы тоже так думаете?
2- Этот код не работает. Как вы можете видеть на снимке экрана выше, установка и снятие отметки с опции Show Grid
ничего не меняет! Подскажите, пожалуйста, как заставить работать приложение?
3- В коде есть слот под названием setShowGride(bool)
. Откуда это? Он не будет выделен, когда я нажму на него, а также никуда не приведет меня, когда я нажму на нем F2
! Вероятно, причина проблемы в том, что указанный выше параметр не работает.
Как это исправить, пожалуйста?