我正在动态生成QWidgets(到目前为止只有标签),以便我可以动态更改UI。我知道我可以使用QTCreator的XML文件,但我有理由不这样做。
无论如何,每次创建窗口小部件时,我都会将类型(标签)和地址传递给向量。这很好。但是当我尝试将地址转换回QLabel(例如)并执行'& castedQLabel'时,它会给我一个不同的结果。
以下是正在发生的事情的伪代码:
vector_of_Widgets.push_back({tmpString, "label", &origLabel});
qDebug() << &origLabel;
//Later in code
QLabel *tmpLabel = (QLabel *)vector_of_QWidgets[number].data; //.data is the third argument ^^
qDebug() << vector_of_QWidgets[number].data;
qDebug() << &tmpLabel;
输出:
>>0x7ffc151a5518
>>0x7ffc151a5518
>>0x7ffc151a4ab0
哦是的,同样,.data是(void *)。
答案 0 :(得分:3)
tmpLabel指向您的QLabel,无需取消引用它。