如何解决无法访问的QPushButton之谜
| 我有一个QT申请。它具有可运行的QPushButton,这些QPushButton连接到程序中的插槽。我现在试图添加一个新的按钮myNewButton
,但是在某个地方,它没有被注册。
对于现有的工作按钮myExistingButton
,我有一行:
connect(ui->myExistingButton,SIGNAL(clicked()),this,SLOT(Foo()));
我不能简单地添加以下行:
connect(ui->myNewButton,SLOT(Foo()));
编译错误是:
class UI::Viewer has no member named \'myNewButton\'
而且QT Creator不会将按钮列为ѭ5的自动完成选项(即,我并没有简单地拼错名字)。 myExistingButton
和myNewButton
的记录与ui文件中的坐标和命名相同,但相同。是什么导致此问题?
解决方法
我假设您确实向.ui表单添加了一个新按钮,并将其命名为
myNewButton
,对吗?如果是这样,这可能是Qt Creator中的同步问题。您是否尝试过保存所有内容并重建(以确保触发了ui编译器)您的应用程序?
, 您是否已正确设置小部件的父属性?
在创建时,或通过显式设置它。
编辑:还请注意
您不应该直接编辑ui_-includes,而应使用form-editor
您不必为表单中明确声明的内容进行显式连接;再次,为此使用表单编辑器(右键单击按钮)
, 我看到您通过删除ѭ9解决了您的问题。但是更干净的方法是运行qMake
(从Build
菜单)。当我遇到像您一样的错误时,我总是这样做–有时Qt Creator
忘记运行qMake
。
, 我通过删除生成的文件“ 9”然后重新构建来解决此问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。