尝试使用 QTimer 时"No such slot"
"No such slot" when trying to use QTimer
我有一个定义为MyQGraphicsView::MyQGraphicsView(QWidget *parent) : QGraphicsView(parent)
的图形视图包装器
在此,我试图设置一个定时GUI更新事件与QTimers。
public slots:
void colourGUI(std::vector<Item *> &items);
然而,当我试图调用它时,我得到一个错误。我是这样称呼它的
// timer...
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(colourGUI(items)));
timer->start(2000);
我得到以下错误:
Object::connect: No such slot MyQGraphicsView::colourGUI(items)
给了什么?我设置错了吗?
您的代码有多个问题。首先,您正在尝试连接具有不同签名的信号和插槽。
你需要(1)
connect(timer, SIGNAL(timeout(std::vector<Item*>)), this, SLOT(colourGUI(std::vector<Item*>)));
代替:
connect(timer, SIGNAL(timeout()), this, SLOT(colourGUI(items)));
然而,这将只工作,如果Qt元对象系统知道如何封送这种类型,但它没有。您要么需要注册它,要么使用一个Qt集合,例如QList
。而计时器也没有这样的信号。
(1) SLOT "description"不能包含参数名称,必须包含参数的类型,以便能够正确封送它们
相关文章:
- Android NDK clang 编译器错误在 Windows 上显示'No such file or directory'
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- "No such file or directory" C++标头问题
- 我在 #include < bits/stdc++h.> 放置时出错"No such file or directory"
- 叮叮当当。target_include_directories "No such file or directory"
- 从生成文件编译错误:"Unable to open output file" ..."No such file or directory"
- C++编译期间出现"No such file or directory"错误
- 尝试编译 TensorFlow 时出错"/system/bin/linker: No such file or directory"
- 代码块中的哈希库++库"No such file or directory"错误
- 成功使用CMakeLists制作后如何修复"open: No such file or directory"错误(该文件实际上存在)
- QMetaObject::invokeMethod: no such method QTextCursor::MoveO
- 如何在安装了 WSL 的 Visual Studio Code 中修复"g++: error: helloworld.cpp: No such file or directory"?
- 尝试使用生成文件编译程序时"fatal error: boost/regex.hpp: No such file or directory" C++
- SDL 测试程序 - "No such file or directory"
- GDB 列表错误"No such file or directory"
- 我的文件可以编译,但当我尝试运行它时"no such file or directory"
- 无法使用 Qt: "No such file or directory" 打开包含文件
- 如何修复"fatal error: boost/asio.hpp: no such file or directory"?
- ": No such file or directory"执行外壳文件
- QT c++ "Windows.h no such a file or dictionary in main.ccp"