Qt用什么函数来判断指针的类型?
我在使用完QWidget::ChildAt(x,y)后想知道它拿到的指针是什么样的类型(可能是QFrame*,QWidget*),不过不知道该如何判断。...
我在使用完QWidget::ChildAt(x, y)后想知道它拿到的指针是什么样的类型(可能是QFrame* , QWidget*),不过不知道该如何判断。
展开
展开全部
QT的对象都有一个 objectname的属性。你取出来看看看!
追问
objectname不只是代表变量名的吗?那该如何根据变量名知道变量类型?
追答
C++ 运行类型有一个 RTTI 用 typeid 可以获取运行是的类型名
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你想判断一个指针是否属于某个类或其子类,你可以使用QObject::inherits()函数2。例如:
QObject *obj = new Plot(); // Plot是QObject的子类if (obj->inherits("Plot")) { // obj是Plot或其子类的实例}
如果你想判断一个智能指针是否为空,你可以使用isNull()函数1。例如:
QPointer<Plot> ptr = new Plot();if (ptr.isNull()) { // ptr没有指向任何对象}
QObject *obj = new Plot(); // Plot是QObject的子类if (obj->inherits("Plot")) { // obj是Plot或其子类的实例}
如果你想判断一个智能指针是否为空,你可以使用isNull()函数1。例如:
QPointer<Plot> ptr = new Plot();if (ptr.isNull()) { // ptr没有指向任何对象}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
拿QFrame或者QWidget里边的不同的成员变量测一下就知道了
更多追问追答
追问
不是很明白怎么测? 可以说说具体方法?
追答
拿窗口类型,在和这两种窗口的窗口类型按位与,根据结果是否等于0进行判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询