在Qt Creator中调用函数?

时间:2017-07-19 06:45:41

标签: c++ qt

我不完全确定如何在Qt创建器中实现自定义函数。当我用信号/槽调用它时,我得到错误“没有这样的QApplication :: MainWindow :: messageBox()”

其中messageBox()是有问题的函数

main.cpp连接:

MainWindow::connect(button, SIGNAL(clicked(bool)), qApp, SLOT(MainWindow::messageBox()));

mainWindow.h:

public slots:
   void messageBox();

mainWindow.cpp:

void MainWindow::messageBox()
{
    QMessageBox box;
    box.setText("乇乂ㄒ尺卂 ㄒ卄丨匚匚");
    box.exec();
}

那么在点击按钮时如何调用此函数呢?

1 个答案:

答案 0 :(得分:0)

您必须传递包含插槽的对象,然后传递插槽的名称,qApp没有messageBox插槽,因此它会显示该消息,您必须执行类似以下操作:

MainWindow w;
QPushButton *button = new QPushButton;
QObject::connect(button, SIGNAL(clicked(bool)), &MainWindow, SLOT(messageBox()));