没有这样的信号QTableWidget::cellChanged(int,int)
这个题目很好地描述了我的问题 有问题的代码行:没有这样的信号QTableWidget::cellChanged(int,int),qt,qt4,signals,qtablewidget,Qt,Qt4,Signals,Qtablewidget,这个题目很好地描述了我的问题 有问题的代码行: connect(table, SIGNAL(cellChanged(row, 5)), this, SLOT(updateSP())); 我想不出为什么那个信号无效。我在谷歌上搜索了一下,发现有几个人有同样的问题,但他们提出的解决方案不起作用 我在Ubuntu Karmic,g++上使用Qt4.5.2 有人知道我做错了什么吗?Trolltech关于cellChanged()的文档没有提到任何特殊要求 我不知所措 谢谢你的建议 在我看来,您似乎不了
connect(table, SIGNAL(cellChanged(row, 5)), this, SLOT(updateSP()));
我想不出为什么那个信号无效。我在谷歌上搜索了一下,发现有几个人有同样的问题,但他们提出的解决方案不起作用
我在Ubuntu Karmic,g++上使用Qt4.5.2
有人知道我做错了什么吗?Trolltech关于cellChanged()的文档没有提到任何特殊要求
我不知所措
谢谢你的建议 在我看来,您似乎不了解SIGNAL&SLOT宏的接口。差不多
connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP()));
可能有效,但您需要在插槽中具有相同的参数计数,以使其按预期工作:
connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP(int, int)));
插槽应如下所示:
void ClassFoo::updateSP(int row, int column)
{
// row is the number of row that was clicked;
// column is the number of column that was clicked;
// Here we go! It's right place to do some actions. =)
}
在我看来,您似乎不了解SIGNAL&SLOT宏的接口。差不多
connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP()));
可能有效,但您需要在插槽中具有相同的参数计数,以使其按预期工作:
connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP(int, int)));
插槽应如下所示:
void ClassFoo::updateSP(int row, int column)
{
// row is the number of row that was clicked;
// column is the number of column that was clicked;
// Here we go! It's right place to do some actions. =)
}
添加了更通用的标记“qt”。该标记更具体。。不一般。无论如何,谢谢。添加了更通用的标记“qt”。该标记更具体。。不一般。无论如何,谢谢。啊!我以前看到过这个确切的建议,但现在一切都有意义了。啊,太天真了。谢谢凯米斯托,啊!我以前看到过这个确切的建议,但现在一切都有意义了。啊,太天真了。谢谢凯米斯托。