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

标签 qt

我在 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;
};

转到 mainwindow.ui,我为用户界面设计了一个菜单栏。 QAction一共有三个,如下图所示:
enter image description here

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

enter image description here

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

最佳答案

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

这里已经报告了类似的问题:my slots don't appear in the signal slot editor

关于Qt:信号和插槽编辑中没有显示定义的插槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48796576/

相关文章:

Qt应用程序链接警告: duplicate section xxxxx has different size

c++ - 删除创建的 Qt 元素和子类

python - QtGui.QMessageBox.information 和自定义

Qt动画按钮

c++ - Qt找不到平台插件cocoa

c++ - QT5 中的信号和插槽

c++ - Ubuntu 将可执行文件识别为共享库,并且不会通过单击来运行它

Qt:对 PostgreSQL-Server 的 SELECT 查询总是以 NULL 响应

qt - 在Qt中以水平布局将项目向左对齐

c++ - 为 mappedReduce 指定 reduce 仿函数