不知道你这种传递信号的方式可不可行 你这样改下看看
#include "checkable.h"
#include <QMenu>
#include <QMenuBar>
#include <QStatusBar>
#include <QApplication>
Checkable::Checkable(QWidget *parent)
: QMainWindow(parent)
{
QAction *viewst = new QAction("&View statusbar", this);
viewst->setCheckable(true);
viewst->setChecked(true);
viewst->setStatusTip("View statusbar");
QMenu *file;
file = menuBar()->addMenu("&File");
file->addAction(viewst);
statusBar();
connect(viewst, SIGNAL(triggered(bool)), this, SLOT(toggleStatusbar(bool)));
}
void Checkable::toggleStatusbar(bool bFlag)
{
bFlag ? statusBar()->show() : statusBar()->hide();
}