原文链接:https://www.fearlazy.com/index.php/post/310.html
现象:
Qt可以通过元对象获取对象的类名。
例如:获取按钮的类名可以使用btn->metaObject()->claassName(); 其中btn是QPushButton类型的指针。
在判断一个对象的类名使用了 == ,如下所示:
结果显示false。
原因:
className()函数返回值类型是const char*,而“QPushButton”字符串字面量是字符数组。两者用==比较的是地址,很显然是不一样的。
解决办法:
使用strcmp函数比较
嫌麻烦的话也可以将"QPushButton"改为QString("QPushButton");
---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。