C++ Qt“转到插槽”丢失
Posted
技术标签:
【中文标题】C++ Qt“转到插槽”丢失【英文标题】:C++ Qt "Go to Slot" Missing 【发布时间】:2016-05-10 18:15:15 【问题描述】:与 Visual Studio 2015 企业版集成的 Qt 设计器无法正常运行。我看过很多教程,其中人们显示右键单击控件,然后单击“转到插槽”以声明例如单击按钮的事件。
但是我的编辑器缺少此功能,如何进行?我是否必须始终手动编写有关控件的所有必要信息,然后才能创建事件?
编辑:但是,当我转到 Qt Creator(不同的应用程序???)时,“转到插槽”按钮会显示
所以按钮显示在 Qt Creator 中,但不在 Qt Designer 中。
【问题讨论】:
猜测,VS 版本可能不支持该功能。如果是这样,请相应地调整您的工作流程:在旁边使用 Qt Creator(应该没有问题,我想两个 IDE 都可以配置为自动重新加载外部修改的文件)或手动编写您的插槽。 在 Visual Studio 中开发 Qt 应用程序时,我还没有看到 go to slot。 Qt Designer 与 VS IDE 没有连接。 【参考方案1】:Qt Designer 没有实现这个特性; Qt Creator 可以。您的 Qt 设计器本身可以正常工作。如果没有完整的代码模型等,就不可能实现这一点,因此该功能属于 IDE:在 Qt Creator 或 VS 插件中。 Qt VS 插件可以提供这个功能,但是还没有人为此提交任何代码,提示提示:)
TL;DR:这是设计使然。
【讨论】:
【参考方案2】:我有同样的问题,并查看了 Qt Creator 如何连接信号。 这是答案:Post from @Steve Lorimer
您的广告位必须符合以下格式:
void on_<object-name>_<signal-name>(<signal-parameters>);
我在 Visual Studio 2015 中对其进行了测试,它运行良好。以这种格式创建一个插槽,它将自动连接。
也许这仅适用于从 Qt Creator 迁移到 VS 的项目,但我不确定。
【讨论】:
以上是关于C++ Qt“转到插槽”丢失的主要内容,如果未能解决你的问题,请参考以下文章
QT Creator 中的 Slot 信号,connect() 函数在哪里?