2 つのボタンを備えたポップアップ ウィンドウがあり、これらのボタンの SIGNAL と SLOT を静的 Methode で使用するときに使用したい
connect(allbox->getAcceptButton(),SIGNAL(clicked()),this,SLOT(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();
}
ほんの短い例ですが、Qt http://doc.qt.digia.com/qt/signalsandslots.htmlで文書化されているように、SIGNAL を SLOT に接続する必要があります。
すでに同様の質問をしていますが、答えは同じです。静的メソッドでは使用できないため、スロットをthis
持つオブジェクトも渡す必要があります。dosmt()