• 6089阅读
  • 5回复

[提问]如何在槽函数中访问到自己定义的类的数据?不用全局变量的方法 [复制链接]

上一主题 下一主题
离线wsygzyr
 

只看楼主 正序阅读 楼主  发表于: 2012-06-14
初学QT,有个问题困扰着我,大家帮帮忙。
我自己定义了一个类Person,类中保存着一些类似姓名啊,年龄这种数据,在主函数开始处会对这个类进行实例,例如 Person person,并赋值。

设计了一个ui,里面包含一个button,我需要在点击这个button之后,根据自定义类的数据,显示这个person类的一些信息。但是clicked这个信号又不能传递参数,我到哪里去寻找到这个类的实例(也就是person)呢?

我最先想到的就是全局变量,但是C++用全局变量会破坏其封装性,有什么方法吗?
问题有点弱,用C++比较少,希望大家帮帮忙。谢谢了~~~
离线flywind
只看该作者 5楼 发表于: 2012-06-14
回 3楼(wsygzyr) 的帖子
最简单也是最笨的方法,把button的clicked信号与person类里面的一个槽连接,然后在这个槽里面emit一个一个包含传递参数的自定义信号
离线wsygzyr

只看该作者 4楼 发表于: 2012-06-14
引用第2楼benbenmajia于2012-06-14 17:24发表的  :
建议先学习C++



谢谢你的回复。
学习C++是必要的。
我是这么理解的,槽本质上就是个函数,如果没有参数传递进来,这个局部函数怎么都不知道person在哪里的,是这个样子的吧?这个好像和C++没有什么联系吧。

QT的很多信号函数,例如press,clicked都没有参数,我想知道这些信号触发的操作如何去访问函数之外的数据结构的。
谢谢。
离线wsygzyr

只看该作者 3楼 发表于: 2012-06-14
引用第1楼flywind于2012-06-14 17:16发表的  :
clicked信号连接到任意一个槽,在这个槽中emit一个包含传递参数的自定义信号

谢谢你的回复。
  但是连接到的那个槽也是个函数,它又如何去找到这个person呢?
离线benbenmajia

只看该作者 2楼 发表于: 2012-06-14
建议先学习C++
安然.....
离线flywind
只看该作者 1楼 发表于: 2012-06-14
clicked信号连接到任意一个槽,在这个槽中emit一个包含传递参数的自定义信号
快速回复
限100 字节
 
上一个 下一个