You cannot replace a signal with another signal in a subclass. You can, however, emit an additional signal with the original signal in a self-connected slot:
class MyDimasCheckBox : public QCheckBox
{
    Q_OBJECT
public:
    MyDimasCheckBox(QWidget *parent =0);
    ~MyDimasCheckBox();
    QString stroka;
private slots:
    // Emits the new signal
    void doEmitStateChanged(int i);
signals:
    void stateChanged(int, QString);
};
MyDimasCheckBox::MyDimasCheckBox(QWidget *parent) : QCheckBox(parent) {
    // Connect original signal to slot 
    connect(this, SIGNAL(stateChanged(int)), this, SLOT(doEmitStateChanged(int)));
}
void MyDimasCheckBox::doEmitStateChanged(int i) { 
    emit stateChanged(i, stroka); 
}
With the new connection syntax, you can omit the slot and use a lambda:
connect(this, qOverload<int>(&QCheckBox::stateChanged), 
        // "this" context-object for QThread-Affinity
        this, [=](int i) { emit this->stateChanged(i, this->stroka); });
10
solved How to override a signal in qt?