<分区>
这是我的类定义/.hpp 文件的一部分:
class RenderGraphFrame : public QGLWidget
{
public:
RenderGraphFrame(QWidget *parent);
private slots:
void PrevButton();
void NextButton();
private:
void draw();
QWidget *p_parent;
bool ButtonsInited;
QPushButton *nextButton;
QPushButton *prevButton;
}
这是相关的源代码部分:
RenderGraphFrame::RenderGraphFrame(QWidget *parent)
: QGLWidget(QGLFormat(/*QGL::SampleBuffers*/), parent)
{
p_parent = parent;
/* ... */
}
void RenderGraphFrame::draw()
{
if (ButtonsInited == false)
{
bool tmpttest_success;
nextButton = parent->findChild<QPushButton *>("nextButton", Qt::FindChildrenRecursively);
prevButton = p_parent->findChild<QPushButton *>("prevButton", Qt::FindChildrenRecursively);
tmpttest_success = connect(_nextButton, SIGNAL (released()), this, SLOT(NextButton()));
if (tmptest_success == false)
{
//this is what happens but I don't want it to happen...
}
}
/*....*/
}
void RenderGraphFrame::NextButton()
{
/*somestuff*/
return;
}
void RenderGraphFrame::PrevButton()
{
/*somestuff*/
return;
}
我得到了错误:
QObject::connect: No such slot QGLWidget::NextButton() in ..\Graph\some\path\to.cpp:160
QObject::connect: (sender name: 'nextButton')
当然没有,因为我不想连接 QGLWidget::NextButton()
,因为我想连接 RenderGraphFrame::NextButton()
。
我该如何解决这个问题?我已经锁定了所有这些关于“没有这样的插槽”qt 错误的帖子。但它们似乎根本不是由我的其他问题引起的。
那么有什么建议可以解决这个问题吗?