Я не думаю, что есть какое-то некомпетентное решение для такой проблемы, которое не включает в себя множество макросов в объявлении класса (на самом деле, если я правильно понял документацию QT, строка, которую вы получаете с objectName
, фактически назначена "от руки ", я думаю, с кодом, созданным moc
).
С другой стороны, вообще, чтобы проверить, является ли класс объекта тем, который вам не нужен, вы не должны делать строкусравнение, но вместо этого сделайте сравнение typeid.
assert(typeid(YourObject)==typeid(Blah));
Но, вероятно, вам лучше объяснить, чего вы пытаетесь достичь.