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