插槽setShowGride无法在我的应用

时间:2017-08-10 19:30:54

标签: c++ qt signals-slots qt5.9

Here是该计划,此处为the screenshot

以下是: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时它也无处可去!它可能是上述选项不起作用的问题的根源  请问如何解决?

0 个答案:

没有答案