我不完全确定如何在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();
}
那么在点击按钮时如何调用此函数呢?
答案 0 :(得分:0)
您必须传递包含插槽的对象,然后传递插槽的名称,qApp没有messageBox插槽,因此它会显示该消息,您必须执行类似以下操作:
MainWindow w;
QPushButton *button = new QPushButton;
QObject::connect(button, SIGNAL(clicked(bool)), &MainWindow, SLOT(messageBox()));