Nenhum sinal QTableWidget :: CellChanged (int, int)
-
24-09-2019 - |
Pergunta
O título descreve meu problema muito bem.
A linha de código ofensiva:
connect(table, SIGNAL(cellChanged(row, 5)), this, SLOT(updateSP()));
Não consigo pensar em nenhuma razão para que esse sinal não seja válido. Pesquisei no Google e encontrei algumas pessoas com o mesmo problema, mas as soluções colocadas lá não funcionam.
Estou usando o QT 4.5.2 no Ubuntu Karmic, G ++.
Alguém sabe o que estou fazendo de errado? A documentação da TrollTech sobre CellChanged () não menciona nenhum requisito especial.
Estou perdido.
Obrigado por qualquer conselho!
Solução
parece para mim que você não entende Sinais de QT e conceitos de slots. A macro de sinal e slot toma um interface. Algo como
connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP()));
Pode funcionar, mas você precisa ter a mesma contagem de argumentos no seu slot, para fazê -lo funcionar como você espera:
connect(table, SIGNAL(cellChanged(int, int)), this, SLOT(updateSP(int, int)));
O slot deve parecer algo assim:
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. =)
}