c ++ QPushButton信号和插槽

Aur*_*_12 5 c++ qt signals slot qpushbutton

我在创建带有信号和插槽的 QPushButton 时遇到问题。首先,我创建了一个类,其中插槽:

class A : public QWidget{

  public slots:
void handleButton();

};
Run Code Online (Sandbox Code Playgroud)

有我的 handleButton 功能:在 .cpp 中

   void A::handleButton(int row, int col){
    m_button->setText("Example");
  // resize button
    m_button->resize(100,100);
      }
Run Code Online (Sandbox Code Playgroud)

然后我想连接按钮。

           QObject::connect(m_button, SIGNAL(clicked()),qApp, SLOT(handleButton()));
Run Code Online (Sandbox Code Playgroud)

但是当我启动应用程序时出现错误:“没有这样的插槽”有人可以帮助我吗?

Mar*_* A. 2

确保它qApp是类的对象A(即定义插槽的位置)。

也就是说,签名是错误的:仅当签名匹配时,信号才会链接到插槽

http://qt-project.org/doc/qt-4.8/signalsandslots.html

信号和槽机制是类型安全的:信号的签名必须与接收槽的签名相匹配。

并且您的插槽没有正确的签名:

http://qt-project.org/doc/qt-4.8/qabstractbutton.html#clicked

void QAbstractButton::clicked ( bool checked = false ) [signal]
Run Code Online (Sandbox Code Playgroud)