我从我的设计类调用这个后来将它们添加到布局,但我总是与功能ladeBild(QLabel l, QString s)
没有匹配函数来调用到
void Levels::erzeugen(Levels *)
{
....
ladeBild(l01,"l01.png");
ladeBild(l02,"l02.png");
ladeBild(l03,"l03.png");
ladeBild(l04,"l04.png");
ladeBild(l05,"l05.png");
ladeBild(l06,"l06.png");
ladeBild(l07,"l07.png");
ladeBild(l08,"l08.png");
ladeBild(l09,"l09.png");
ladeBild(l10,"l10.png");
ladeBild(l11,"l11.png");
ladeBild(l12,"l12.png");
...
}
void Levels::ladeBild(QLabel l,QString s)
{
l = new QLabel();
l.setBackgroundRole(QPalette::Dark);
l.setAutoFillBackground(true);
image = new QImage(s);//Muss im debug-Ordner sein!!!
l.setPixmap(QPixmap::fromImage(*image));
l.setMaximumHeight(image->height());
l.setMaximumWidth(image->width());
}
错误消息,并且我收到以下错误消息(每次调用ladeBild
)
In member function 'void Levels::erzeugen(Levels*)': Fehler:no matching function for call to 'Levels::ladeBild(QLabel*&, const char [8])' candidates are: void Levels::ladeBild(QLabel, QString) Fehler:no match for 'operator=' in 'l = (QFlags<Qt::WindowType>(0u), (operator new(20u), (<statement>, ((QLabel*)<anonymous>))))' candidates are: QLabel& QLabel::operator=(const QLabel&)`
不能修复这个问题...
'l = new QLabel();' - 您试图在这里为'QLabel'指定'QLabel *'。 – chris
请尽可能将代码复制/粘贴到您的问题中 - 对于您发布的内容,您应该也会在chris评论的线上发现错误。 –