0

我有带有 2 个按钮的弹出窗口,我想在使用时在静态方法中使用这些按钮的 SIGNAL 和 SLOT

connect(allbox->getAcceptButton(),SIGNAL(clicked()),this,SLOT(dosmt());

该程序崩溃任何想法我如何解决这个问题。感谢您的帮助

4

3 回答 3

1

您必须编写一个调用静态方法的插槽

于 2013-01-16T09:09:37.857 回答
0

你已经问过一个类似的问题,答案是一样的:你不能this在静态方法中使用,所以你必须传递一个有dosmt()槽的对象。

于 2013-01-16T08:42:53.393 回答
0
 class Test: public QObject
 {
     Q_OBJECT
 ...
 public:
     static void testMethod();
 public slots:
     void testSlot();

 };

Test::Test()
{
    QObject::connect(button, SIGNAL(clicked(), this, SLOT(testSlot()));
}

Test::testSlot()
{
    Test::testMethod();
}

只是一个简短的示例,您必须将 SIGNAL 与 SLOT 连接起来,因为它由 Qt http://doc.qt.digia.com/qt/signalsandslots.html记录

于 2013-01-16T09:25:06.843 回答