可以利用qobject_cast<QAction *>(sender())获得信号发送者的对象,实现差异化处理
头文件
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void viewChanged();
private:
void createActions();
void initMenus();
void initTools();
QAction *dataView;
QAction *pixView;
QAction *configView;
};
关键代码
void
MainWindow::createActions() {
dataView = new QAction(tr("数据视图"), this);
connect(dataView, SIGNAL(triggered()), this, SLOT(viewChanged()));
pixView = new QAction(tr("曲线视图"), this);
connect(pixView, SIGNAL(triggered()), this, SLOT(viewChanged()));
configView = new QAction(tr("配置视图"), this);
connect(configView, SIGNAL(triggered()), this, SLOT(viewChanged()));
}
void
MainWindow::initMenus() {