我很好奇如何将类中的函数连接到QT中的按钮。我正在尝试使用这个:

connect(ui->m_but,SIGNAL(clicked()),&Downloader,SLOT(DoDownload()));


我有一个课程Downloader。按钮名称m_but。函数DoDownload进行调用。

还尝试在我的班级中创建一个调用DoDownload的slot函数。但是没有结果。

最佳答案

我有一个课程下载器。


但是,您有它的实例吗?您确实需要实例化该类才能进行连接。

您的班级身体应该有以下内容:

Downloader downloader;


然后connect(ui->m_but, SIGNAL(clicked()), &downloader, SLOT(DoDownload()));应该起作用。

Downloader是“静态类”的情况下,即它没有非静态成员,则可以使用它而无需创建它的实例。在这种情况下,您必须使用Qt 5中提供的新连接语法:

connect(ui->m_but, &QPushButton::clicked, Downloader::DoDownload);

09-11 19:26