On 2020/01/19 08:14, Dirk Hohndel wrote:
On my phone.
The first 'this' is wrong. That needs to be the address of the specific qdatetomeedit in the UI.
My mistake

/D

On January 18, 2020 9:32:43 PM PST, Willem Ferguson <[email protected]> wrote:

    On 2020/01/18 21:32, Dirk Hohndel wrote:
    Hi Willem,

    On Jan 18, 2020, at 3:48 AM, Willem Ferguson
    <[email protected]
    <mailto:[email protected]>> wrote:

    My formulation, reflecting my strong deficiencies in Qt coding
    but following the above, for the new connection is:

    connect(this,
    ui.timeDiffEdit->timeChanged(ui.timeDiffEdit->time()),this,
    this->timeDiffEditChanged());

    The second parameter needs to be a pointer, for which I used
    ui.timeDiffEdit. The timeChanged() signal needs a QTime value,
    so I provided that with ui.timeDeffEdit->time(), the actual
    amount of time by which the timeDiffEdit has been changed.

    The last parameter also needs an address, provided by
    this->timeDiffEditChanged() is the response to the signal
    fromtimeDiffEdit->timeChanged(). It is a void function and the
    source of build problems. The compiler generates an error:

    /home/willem/src/subsurface/desktop-widgets/importgps.cpp:30:104:
    error: invalid use of void expression
    connect(this,
    ui.timeDiffEdit->timeChanged(ui.timeDiffEdit->time()), this,
    this->timeDiffEditChanged());
    ^

    Obviously, accessing the pointer this->timeDiffEditChanged()
    should not return a void value. I have no idea of how to respond
    to this error. Any suggestions are very welcome.



    How about

    connect(this, &QTimeEdit::timeChanged, this,
    &ImportGPS::timeDiffEditChanged);

    That seems like it would follow the syntax suggested above, right?

    /D

    Thank you very much for your time.

    For Dirk's suggestion I get:

    /home/willem/src/subsurface/desktop-widgets/importgps.cpp: In
    constructor ‘ImportGPS::ImportGPS(QWidget*, QString,
    Ui::LocationInformation*)’:
    /home/willem/src/subsurface/desktop-widgets/importgps.cpp:30:78:
    error: no matching function for call to
    ‘ImportGPS::connect(ImportGPS*, void (QDateTimeEdit::*)(const
    QTime&), ImportGPS*, void (ImportGPS::*)())’
      connect(this, &QTimeEdit::timeChanged, this,
    &ImportGPS::timeDiffEditChanged);
    ^

    I suspect this means that there is a problem in the types of
    parameters in the call to connect() ??

    For Bill's formulation there is an apparent problem with the
    signal part of the call to connect():

    /home/willem/src/subsurface/desktop-widgets/importgps.cpp:31:88:
    error: invalid use of non-static member function ‘void
    QDateTimeEdit::timeChanged(const QTime&)’
      connect(ui.timeDiffEdit, ui.timeDiffEdit->timeChanged, this,
    this->timeDiffEditChanged)
    ^
    I just do not know how to proceed.

    Kind regards,

    willem



    This message and attachments are subject to a disclaimer.
    Please refer to
    http://upnet.up.ac.za/services/it/documentation/docs/004167.pdf
    <http://upnet.up.ac.za/services/it/documentation/docs/004167.pdf>
    for full details.


--
From my phone

Problem solved, thank you very much. The final formulation is:

connect(ui.timeDiffEdit, &QTimeEdit::timeChanged, this, &ImportGPS::timeDiffEditChanged);

I appreciate your time.

Kind regards,

willem







--
This message and attachments are subject to a disclaimer.

Please refer to 
http://upnet.up.ac.za/services/it/documentation/docs/004167.pdf <http://upnet.up.ac.za/services/it/documentation/docs/004167.pdf> for full details.
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to