Qt:Signal&;中未显示定义的插槽;时隙编辑
我在我的Qt:Signal&;中未显示定义的插槽;时隙编辑,qt,Qt,我在我的mainwindow.h中声明了三个插槽,并在实现文件中给出了它们的定义。以下是主窗口类: class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); signals: void nextImage(int direction); private slots: void upd
mainwindow.h
中声明了三个插槽,并在实现文件中给出了它们的定义。以下是主窗口类:
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有三种,如下图所示:
然后,我做信号和插槽编辑。但是头文件中定义的插槽(udpateImage
、cameraStart
和cameraControl
)不会出现在插槽列表中,如下图所示:
我有没有错过其他步骤,或者我做错了什么?还需要注意的是,列表中也没有显示这些插槽应该显示在的框架中。我知道为什么会出现这种情况。要添加这些自定义插槽,除了在头文件和实现文件中定义它们之外,还应该通过右键单击
QMainWindow
,转到更改信号和插槽
,并在插槽面板中手动添加它们,来预先添加它们。这种方法比编码信号和插槽更简单
这里报告了一个类似的问题:据我所知,定制插槽从未在设计器的信号和插槽编辑器中显示。你没有做错什么。您只需使用
connect()
正常连接信号和插槽。我不这么认为。我有另一个书面项目,在头文件中有私有的用户定义的插槽,这些插槽可以在这样的插槽列表中查找。我只是想知道为什么要这样做。这有帮助吗?尝试公开老虎机,看看这是否有帮助。设计师不显示私人插槽是有道理的。@hyde:设置公共插槽没有任何区别。永久连接似乎很舒服。我想编程连接是多功能的,能够根据需要连接和断开连接。