【发布时间】:2009-09-28 11:21:39
【问题描述】:
我最近将我的 Qt 项目从 Linux 迁移到了 Vista,现在我正在盲目地调试信号。
在 Linux 上,如果 QObject::connect() 在调试构建中失败,我会在 stderr 上收到警告消息。在 Windows 上,GUI 应用程序没有控制台输出,只有一个 OutputDebugString 调用。
我已经安装了DebugView,它很好地捕获了我自己的 qDebug() 输出,但仍然没有对失败的信号发出警告。
一种可能的解决方案是使用 QtCreator 的信号自动完成功能,但我喜欢 Eclipse,并且两者都使用是 PITA。关于如何在运行时获取信号/插槽信息的任何想法?
编辑:我刚刚意识到 connect() 返回 bool,它解决了当前的问题,尽管它可能很丑陋。但是,这并不能解决QMetaObject::connectSlotsByName() 失败的情况,并且这个会自动与小部件一起运行。
【问题讨论】:
标签: c++ qt signals-slots