Qt:信号和插槽编辑中没有显示定义的插槽

jin*_*imo 5 qt

我已经在 my 中声明了三个插槽,mainwindow.h并在实现文件中给出了它们的定义。这是 MainWindow 类:

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

signals:
    void nextImage(int direction);

private slots:
    void updateImage(void);
    void cameraControl(void);
    void cameraStart(void);

private:
    Ui::MainWindow *ui;
    CMUCamera *camera;
    ImageProcessing *process;
    RenderImage *renderImage;
    bool saveImgFlg;
    QString path;
};
Run Code Online (Sandbox Code Playgroud)

转到 mainwindow.ui,我为用户界面设计了一个菜单栏。QAction一共有三个,如下图所示: 在此处输入图片说明

然后,我进行信号和插槽编辑。但是头文件中定义的槽(udpateImage,cameraStartcameraControl)并没有出现在槽列表中,如下图所示:

在此处输入图片说明

我在这里错过了其他任何步骤还是我做错了什么?还需要注意QMainWindow的是,这些插槽应该出现在哪些框架中,我猜也没有显示在列表中。

jin*_*imo 7

我知道为什么会这样。要添加这些自定义插槽,除了在头文件和实现文件中定义它们之外,还应该通过右键单击 ,QMainWindow转到change signals and slots并在插槽面板中手动添加它们来预先添加它们。这种方式比编码信号和时隙更简单。

这里报告了类似的问题:我的插槽没有出现在信号插槽编辑器中