我将QPushButton中的点击(bool(事件连接到我自己的Widget的专用插槽mySlot((。但是插槽从未被调用(我在mySlot((中放置了一个断点(。我使用的是c++和Qt5。我写了一个最小版本的代码:
MyLayout.h
class MyLayout : public QWidget
{
Q_OBJECT
public:
MyLayout(QWidget* parent = NULL);
private:
QPushButton *next;
private slots:
void mySlot();
}
MyLayout.cpp
MyLayout::MyLayout(QWidget* parent) : QWidget(parent)
{
next = new QPushButton("Next Step");
QObject::connect(next, SIGNAL(clicked(bool)), this, SLOT(mySlot()));
}
void MyLayout::mySlot() { /* do something */ }
有什么想法吗?
您创建了一个无父按钮,但从未显示过它。首先给它一个父按钮(this
(,这样它就会与您的小部件一起显示:
next = new QPushButton("Next Step", this);
然后学习如何使用布局。