c++ - 如何使用 QT Designer 和 Visual Studio 连接 Qt 信号和插槽
问题描述
我正在使用 Qt Designer 来设计我的应用程序,其中包含一个“加载文件” QPushButton
(已提升为 custom loadfile.h
)以及一个 QOpenGLWidget (已提升为 custom OGLWidget.h
)。
我想拥有它,这样当我单击“加载文件”按钮时,它会向我的OGLWidget
班级中的一个插槽发送一个信号,该插槽会弹出一个对话框并加载文件。
我首先进入 Qt Designer 中的信号/插槽编辑模式,并将按钮连接到openglwidget
withclicked()
作为信号和新添加的(来自 Qt Designer)populate_mesh_from_obj()
。
然后我做了一个函数:
void OGLWidget::populate_mesh_from_obj()
{
exit(0);
}
作为测试并在标题中放置:
public slots:
void populate_mesh_from_obj();
现在在我的脑海里,我想:
- 该信号
clicked()
已由 Qt 魔术实现 - 该插槽已由我实现
- Qt Designer 已将它们连接到某个地方
所以对我来说这应该有效。任何想法为什么它没有?
解决方案
你必须手动连接它们..
connect(ui->button, &QPushButton::clicked, yourGlPointer, &OGLWidget::populate_mesh_from_obj);
推荐阅读
- .htaccess - 将文件夹重定向到子文件夹
- html - Twig - 检查数组中是否有任何数字大于 0.00
- php - iframe con PHP 传递值
- java - 在java中集成yolov5 for android APK
- shopify - Shopify - 创建支付网关
- asp.net-mvc - 我该如何预防
启用主机内处理时,标签不会在 web.config 中自动生成? - redis - 为单个 redis 从属指定 redis 复制
- javascript - 在javascript中返回'Yes','No'而不是true,false的奇怪实现
- java - Intellij IDEA 社区中使用 Workday Extend 的插件出现 IDE 致命错误但显示 java 错误?
- php - 如何将 CURL 转换为 Guzzle HTTP?