• 3357阅读
  • 8回复

[提问]弹出一个新界面如何获取前一个界面的地址? [复制链接]

上一主题 下一主题
离线1247371730
 

只看楼主 倒序阅读 楼主  发表于: 2015-05-01
回复本帖可获得1点威望奖励!
每人最多可获奖1次,奖池剩余5点威望 (中奖几率10%)
有a,b两个窗口,a窗口show出b窗口,

b窗口有lineEdit 控件,在b窗口创建一个函数  获取lineEdit的text(),

  现在我要在b.cpp中使用connect(),b发送一个信号,把text()值传到a窗口的槽中,需要a的地址.怎么办
离线nigoole

只看该作者 1楼 发表于: 2015-05-01
connect(&b, SIGNAL(textSignal(QString)), &b, SLOT(textSlot(QString)));
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线nigoole

只看该作者 2楼 发表于: 2015-05-01
你在b中获取text的位置发送一个textSignal的信号!
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线nigoole

只看该作者 3楼 发表于: 2015-05-01
void b::getText() {
    emit textSignal(lineEdit->text());
}
有句话说得好:好好学习,天天向上。加油~~!有上船的朋友联系企鹅393320854
离线1247371730

只看该作者 4楼 发表于: 2015-05-04
connect(&b, SIGNAL(textSignal(QString)), &b, SLOT(textSlot(QString)));  没法传到a值,你的槽也是在b中
离线1247371730

只看该作者 5楼 发表于: 2015-05-04
回 1247371730 的帖子
1247371730:connect(&b, SIGNAL(textSignal(QString)), &b, SLOT(textSlot(QString)));  没法传到a值,你的槽也是在b中 (2015-05-04 09:29) 

connect(&b, SIGNAL(textSignal(QString)), &b, SLOT(textSlot(QString))); 你的槽也是在b中,a窗口获取不了b窗口lineEdit.text()的值
离线xuang

只看该作者 6楼 发表于: 2015-05-04
为什么一定要在b.cpp中使用connect?在a.cpp中connect不是就不需要a的地址了吗(this指针)
离线dosmlp

只看该作者 7楼 发表于: 2015-05-06
可以再a中关联b的信号到a的槽函数啊,不是非得在b中
离线cangyuegui

只看该作者 8楼 发表于: 2015-05-06
qt有个sender
获得发送源

然后可以调用parent
再强转
搞定
快速回复
限100 字节
 
上一个 下一个