无法访问QPushButton奥秘
Inaccessible QPushButton mystery
我有一个QT应用程序。它有功能QPushButtons,连接到我的程序中的插槽。我现在正试图添加一个新按钮myNewButton
,但不知怎么的,它没有被注册。
对于现有的工作按钮myExistingButton
,我有一行:
connect(ui->myExistingButton, SIGNAL(clicked()), this, SLOT(Foo()));
我不能简单地加上一行:
connect(ui->myNewButton, SIGNAL(clicked()), this, SLOT(Foo()));
编译错误为:
class UI::Viewer has no member named 'myNewButton'
QT Creator没有将该按钮列为ui->
的自动完成选项(即,我没有简单地拼写错误名称)。除了ui文件中的坐标和命名之外,myExistingButton
和myNewButton
的记录是相同的。是什么原因导致了这个问题?
我想您确实在.ui表单中添加了一个新按钮,并将其命名为myNewButton
,对吧?如果是这样,这可能是Qt Creator中的同步问题。你有没有尝试过保存所有并重新构建(只是为了确保ui编译器被触发)你的应用程序?
您是否正确设置了小部件的父属性?
无论是在创建时,还是通过显式设置。
编辑:还要注意
- 您不应该直接编辑ui-includes,而是使用表单编辑器
- 对于表单中硬声明的内容,您不必进行显式连接;再次使用表单编辑器(右键单击按钮)
我看到您通过删除ui_viewer.h
解决了问题。但更干净的方法是运行qMake
(从Build
菜单)。当我遇到像你这样的错误时,我总是这样做——有时Qt Creator
会忘记在应该运行qMake
的时候运行它。
我通过删除生成的文件ui_viewer.h
和然后重建来修复此问题。
相关文章:
- 在单击 QPushButton 时调用带有参数的函数
- 按下 QPushbutton 时将文本保存到文件
- QProcess无法通过QPushButton执行终端线路命令
- 在两个类之间连接QPushButton
- QGraphicsScene 中的 QPushButton 需要双击而不是单击
- 如何在取消选择QCheckBox时禁用QPushButton
- 使用 QpushButton 切换显示在 QLabel 中的图像
- 如何从QPushButton检索图标
- QT QPushButton Press Event
- 如何将QPushButton放入小部件中的Qt3DWindow中?
- 如何释放QPushButton的焦点,这是QDialog的默认按钮
- QPushButton 错误在 QT5 下,同时推动在 macOS 上进入全屏
- 在按下Qpushbutton时做点什么
- 创建一个 2 行(不换行)的 QPushButton
- 设置QPUSHBUTTON的最小宽度,同时保持默认的最小尺寸行为
- 调用 'QGridLayout::addWidget(QPushButton, int&, int&) 时没有匹配函数
- 从QStringList为QPushButton制作指针
- qt如何连接QPushButton的2D数组并返回位置
- 如何在点击的QPushButton的位置画一个形状
- 无法访问QPushButton奥秘