关于QT的指针问题,新手求解

luan1010 2017-08-27 09:52:54
指针是指向内存的地址,那为什么控件的指针对象可以直接调用函数呢?
函数不需要通过对象调用么?
如:
QPushButton *bt = (QPushButton *)sender();

这里为什么可以直接通过bt调用函数呢?
...全文
975 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
harrydeep 2017-09-16
  • 打赏
  • 举报
回复
引用 4 楼 qqwangfan 的回复:
[quote=引用 3 楼 luan1010 的回复:] 我表达不清楚?我想问的是对象指针为什么可以调用函数?指针调用函数和对象调用有什么区别
对象指针所指向的地址存放的是对象,因此对象指针调用函数与对象调用函数无区别。只是调用方式不一样而已,实际都是同一个对象调用。[/quote] 正确。 我觉得类似于这样,学校老师要找一个学生的家长,方法一:让这个学生直接叫家长,这个类似于对象调用;方法二:根据这个学生的家庭住址去找家长,这个类似于指针调用
雲天之巔 2017-09-12
  • 打赏
  • 举报
回复
回去补补c++。。
  • 打赏
  • 举报
回复
引用 3 楼 luan1010 的回复:
我表达不清楚?我想问的是对象指针为什么可以调用函数?指针调用函数和对象调用有什么区别
对象指针所指向的地址存放的是对象,因此对象指针调用函数与对象调用函数无区别。只是调用方式不一样而已,实际都是同一个对象调用。
luan1010 2017-08-29
  • 打赏
  • 举报
回复
我表达不清楚?我想问的是对象指针为什么可以调用函数?指针调用函数和对象调用有什么区别
kuangbao9 2017-08-28
  • 打赏
  • 举报
回复
1楼说得对,是把sender()强制转换为QPushButton指针类型的
  • 打赏
  • 举报
回复
sender()函数返回的类型为QObject*类型,可以转成发送信号的控件类型。 (QPushButton *)sender();这一句的意思是将sender()函数返回的类型强制转换成QPushButton *。并不是你说的指针对象调用函数。

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧