c++ - Qt:未找到 QTableWidget::cellClicked 信号/插槽的问题
问题描述
我有一个 QTableWidget,如果单击一个单元格,我想向 MainWindow 发出一个信号。
我的头文件:
QTableWidget *myQtableWidget= new QTableWidget;
...
private slots:
void on_myTableWidgetWindow_cellClicked(int row, int column);
mainWindow.cpp(在 mainWindow 的构造函数中):
connect(this->myQtableWidget, SIGNAL(cellClicked(int row, int column)),
this, SLOT(on_myTableWidgetWindow_cellClicked(int row, int column)));
mainWindow.cpp(某处):
void mainWindow::on_myTableWidgetWindow_cellClicked(int row, int column)
{
//do something
}
控制台输出为:
QMetaObject::connectSlotsByName: No matching signal for on_myTableWidgetWindow_cellClicked(int,int)
QObject::connect: No such signal QTableWidget::cellClicked(int row, int column) in ..\myProg\windowMain.cpp:71
QObject::connect: (receiver name: 'mainWindow')
为什么控制台告诉我:“没有这样的信号 QTableWidget::cellClicked”?在 QT-Docs 中,列出了这个信号:http: //doc.qt.io/qt-5/qtablewidget.html#cellClicked
我看不到我的错误,有人可以帮忙吗?最好的,
解决方案
显然你可以简单地摆脱“行”和“列”。我是说:
connect(this->myQtableWidget, SIGNAL(cellClicked(int, int)),
this, SLOT(on_myTableWidgetWindow_cellClicked(int, int)));
推荐阅读
- python - 散景:使用 MultiLine 字形时无法生成不同的线条颜色
- node.js - 如何在特定路由器请求出现在全局错误处理程序中之前捕获它的错误
- c# - c# LiveCharts WPF如何将0值添加到数据不存在的日期以在CartesianChart中显示
- mongodb - 每个文档级别的聚合 mongodb
- excel - VBA - 如何处理名称函数的错误
- python - 如何让网络爬虫等到 javascript 函数没有执行?
- html - 使用带有 CSS 的 flex 布局时如何解决滚动条问题?
- node.js - formdata 只能正确发布文件但会删除所有字符串。(使用 node、express 和 multer)
- javascript - 结束日期大于开始日期验证
- ios - 如何在不失去对旧 iOS 版本的支持的情况下采用暗模式?