• 5980阅读
  • 6回复

窗口间通信的问题 [复制链接]

上一主题 下一主题
离线robin7513
 
只看楼主 倒序阅读 楼主  发表于: 2009-10-27
最近在学习QT4,遇到一个问题想咨询一下。

我建立了两个窗体,然后设置第一个为父窗体。之后我需要在子窗体上对父窗体进行一些操作。

使用parent() 或paretwidget()只能获得一个指针,但是不能实现功能。

请问如何实现,谢谢!!
离线hiti_tony
只看该作者 1楼 发表于: 2009-10-27
信号和曹
离线robin7513
只看该作者 2楼 发表于: 2009-10-27
信号和槽好像不能跨窗口使用。

我在主窗口中使用了connect连接,编译没有问题,但是没有达到目的。
离线hiti_tony
只看该作者 3楼 发表于: 2009-10-27
是你使用的问题吧,要不就用postevent来做。
离线robin7513
只看该作者 4楼 发表于: 2009-10-27
我在创建子窗口的函数中使用

  connect(<子窗口按钮>, SIGNAL(clicked()),   <主窗口按钮>, SLOT(setEnabled(bool)));

    <子窗口>.show().

不知道有什么不妥?

因为觉得不应该是什么大问题,所以没有打算用事件处理来做。谢谢!!
离线robin7513
只看该作者 5楼 发表于: 2009-10-27
发现了点线索。

当<子窗口按钮>是退出按钮时,connect看上去没有用,但是如果是其他按钮(非close功能的)就可以顺利实现功能了。而且setEnable似乎功能理解有点问题。用了自建的函数就好了。

继续研究中。。。。。。
离线robin7513
只看该作者 6楼 发表于: 2009-10-27
问题终于解决了。
谢谢大家的支持。

问题原来是因为系统在自动生成窗口的时候,生成了一个和我的命名相似的名字。例如:我叫123abc 他叫abc123。因为名字有点长,所以用自动补齐代码的时候就没有注意。

不过发现了setEnable()的用法,还是有一定的收获的。

上面提到的信号和槽,现在证明是对的(谢谢上面的提醒)。确实是我的问题:)
快速回复
限100 字节
 
上一个 下一个