Вот это программа и здесь скриншот.
Вот также код для 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
в теме! Вероятно, это является источником проблемы для вышеупомянутой опции, чтобы не функционировать.
Как это исправить пожалуйста?
В коде есть опечатка. Если это исправлено, приложение работает правильно. использование setShowGrid
не setShowGride
,
И насчет этой части кода, да, она не нужна, потому что вы используете Qt 5.9.
Других решений пока нет …