[Solved] Refresh LCD from QDial value changed doesn't work.



  • !http://s12.postimg.org/olfjke5m5/voltage_Set.png(Voltimeter)!

    I ve created on a frame a QWidget with a voltimeter panel as shown at image.

    In Qt Creator I right-click on QDial, and then -->Go to Slot, and then valueChanged(int).

    It creates an slot on my class named @on_dial_valueChanged(int value) @
    Impementation of this method is:

    @
    qDebug() << "Changing dial: " << value;
    this->electro->setVolts(value); //Just for logical usage.
    this->ui->lcdNumber->display(electro->getVolts());
    @

    In order to change LCD value, but It doesn't work. It's never called when changing dialing. I think connect(...) method for signal is autoimplemented for Qt Creator, isnt?

    Thank you.



  • Do you have a QApplication?
    Do you have Q_OBJECT where needed?
    Does the moc run?



  • Hello, and thanks for your fast reply!

    I have a QApplication, and clean & moc runs Ok.

    I miss Q_OBJECT in custom QGraphicsObject class that handles the graphic paint, as shown:

    @
    class MeasuramentGraphic : public QGraphicsObject
    {
    Q_OBJECT
    public:
    explicit MeasuramentGraphic();
    (...)
    @

    I added it, but now, I have this compile-time issue:

    @
    ....stimulatorgraphic.o:-1: In function ZN18MeasuramentGraphicD1Ev': measuramentgraphic.h:11: error: undefined reference tovtable for MeasuramentGraphic'
    measuramentgraphic.o:-1: In function ZN18MeasuramentGraphicC2Ev': measuramentgraphic.cpp:5: error: undefined reference tovtable for MeasuramentGraphic'
    (...)
    @

    I have all the needed headers in its correct place.

    --------------------- EDIT------------------------

    Thank you again for your fast reply. To fix it, I just cleaned & build again, like that, moc generates new .o files. It compiles, and runs Ok. Thank you.


Log in to reply