gpt4 book ai didi

qt - 在 Qt Creator 中将 QLabel 作为参数传递会出错

转载 作者:行者123 更新时间:2023-12-04 04:34:19 24 4
gpt4 key购买 nike

我试图将 QLabel 作为参数传递给另一个应该更改标签样式的函数:

main
{
...
setSeatColor(ui->lblPan2Seat5B, 2);

}


void setSeatColor(QLabel& lbl, int i)
{
if(i == 1)
{
lbl.setStyleSheet("QLabel { background-color : blue; color : white; }");
}
else if(i == 2)
{
lbl.setStyleSheet("QLabel { background-color : red; color : white; }");
}
else if(i == 3)
{
lbl.setStyleSheet("QLabel { background-color : green; color : white; }");
}
else
{
lbl.setStyleSheet("QLabel { background-color : rgb(240,240,240); color : back; }");
}
}

函数中的错误:

“没有匹配的函数调用 setSeatColor(QLabel*&,int)”

非常感谢您的帮助!

最佳答案

您将 QLabel 指针传递给采用 QLabel& 的函数,因此请替换此调用:

setSeatColor(ui->lblPan2Seat5B, 2);

使用这个(注意取消引用运算符 *)
setSeatColor(*ui->lblPan2Seat5B, 2);

//您可以为您的同事使用额外的括号,以便他们可以理解您在那里做什么: setSeatColor( *(ui->lblPan2Seat5B), 2); - 这样更清楚一点,您打算取消引用 lblPan2Seat5B 而不是由 -> 运算符取消引用的 ui

关于qt - 在 Qt Creator 中将 QLabel 作为参数传递会出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023177/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com