我是 Qt 的新手,正在尝试编写信号和插槽。下面是我试图运行的代码。在“连接”功能上使用 SLOT 和 SIGNAL 关键字,它工作正常。但我不想在连接函数上使用 SIGNAL 和 SLOT 关键字,而是想使用不同的方法。
class MyWindow:public QMainWindow
{
Q_OBJECT
public:
MyWindow();
};
MyWindow::MyWindow()
{
QWidget *widget=new QWidget;
QHBoxLayout *layout =new QHBoxLayout;
QSpinBox *mySlide = new QSpinBox;
mySlide->setRange(0,10);
QLCDNumber *lcdNumber= new QLCDNumber;
layout->addWidget(mySlide);
layout->addWidget(lcdNumber);
connect(mySlide,SIGNAL(valueChanged(int)),lcdNumber,SLOT(display(int)));
// connect(mySlide, &QSpinBox::valueChanged,lcdNumber, &QLCDNumber::display);
widget->setLayout(layout);
setCentralWidget(widget);
}
在上面的代码中,未注释的连接函数工作正常,但注释的连接函数不起作用。我收到错误“没有匹配的函数来调用 MyWindow::connect”。不知道我在这里犯了什么错误。我从 qt 关注这篇文章。