我是Qt的新编程,我需要连接一个信号,例如,从菜单触发的信号,以及另一个类中的插槽。这是我的代码: connect(ui-> actionAbrir,SIGNAL(triggered()),this,SLOT(QImageProc :: open())) 应用程序运行没有错误,但是当我启动应用程序时连接似乎不起作用。
答案 0 :(得分:0)
使用Qt 4连接语法时,无需在SLOT宏中指定类名(QImageProc
)。此外,您可以使用返回值检查连接的正确性。
更新:必须使用指针或成员将QImageProc
类的对象添加到MainWindow
类,例如:
//MainWindow.h:
QImageProc* m_pImageProc;
//MainWindow.cpp:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
//somthing like this:
m_pImageProc = new QImageProc(/* parameters */);
//add m_pImageProc as a third parameter to connect:
bool ok = connect( ui->actionAbrir, SIGNAL(triggered()), m_pImageProc, SLOT(open()) );
//...