我有带有 2 个按钮的弹出窗口,我想在使用时在静态方法中使用这些按钮的 SIGNAL 和 SLOT
connect(allbox->getAcceptButton(),SIGNAL(clicked()),this,SLOT(dosmt());
该程序崩溃任何想法我如何解决这个问题。感谢您的帮助
您必须编写一个调用静态方法的插槽
你已经问过一个类似的问题,答案是一样的:你不能this
在静态方法中使用,所以你必须传递一个有dosmt()
槽的对象。
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记录