qt6 migration issue
-
@Christian-Ehrlicher Thanks, that has been fixed. Now trying to figure out the first issue and guessing why in QT5 it can work.
@Actarus said in qt6 migration issue:
guessing why in QT5 it can work.
Implictly converting a char* into a QString is wrong so... don't think about it but fix it.
-
@Actarus said in qt6 migration issue:
guessing why in QT5 it can work.
Implictly converting a char* into a QString is wrong so... don't think about it but fix it.
@Christian-Ehrlicher I'll do. Now I fixed another issue about the following where I changed X, that was deprecated, to position
//if ((0 == m_ChartViewer) || (!isOnPlotArea(event->x(), event->y()))) if ((0 == m_ChartViewer) || (!isOnPlotArea(event->position().x(), event->position().y()))) event->ignore();
but now it shows me the following error on that line:
-
@Christian-Ehrlicher I'll do. Now I fixed another issue about the following where I changed X, that was deprecated, to position
//if ((0 == m_ChartViewer) || (!isOnPlotArea(event->x(), event->y()))) if ((0 == m_ChartViewer) || (!isOnPlotArea(event->position().x(), event->position().y()))) event->ignore();
but now it shows me the following error on that line:
@Actarus
The implication is thatisOnPlotArea()
only accepts aQPointF
. (Documentation seemingly at https://www.advsofteng.com/doc/cdcppdoc/ViewPortControlBase.isOnPlotArea.htm notwithstanding.)
Put your cursor in that method name and press F2. Does it take you to the header file? What overloads ofisOnPlotArea()
are there?
Also does this error occur when you compile or only visible within Creator? -
@Actarus
The implication is thatisOnPlotArea()
only accepts aQPointF
. (Documentation seemingly at https://www.advsofteng.com/doc/cdcppdoc/ViewPortControlBase.isOnPlotArea.htm notwithstanding.)
Put your cursor in that method name and press F2. Does it take you to the header file? What overloads ofisOnPlotArea()
are there?
Also does this error occur when you compile or only visible within Creator? -
@JonB Thanks Jon, fixed, pressing F2 it jumped to the header where I had:
bool isOnPlotArea(QPointF x, QPointF y)changed to: bool isOnPlotArea(double x, double y) and now it's fine.
-
@Actarus said in qt6 migration issue:
changed to: bool isOnPlotArea(double x, double y) and now it's fine.
Ummm, gulp :) Your header file or Qt's??
@JonB Mine, it had been edited wrongly to fix a previous error message.
I have fixed tons of parts now but I'm still struggling with around 15 errors like this:
error: qualified-id in declaration before '(' token
error: qualified-id in declaration before '(' token
| void ChartsAxis::sectionHasBeenClicked(int logicalIndex)
|Here the example code:
void ChartsAxis::sectionHasBeenClicked(int logicalIndex) { if((isComp)&&(logicalIndex > 0)) { bool found = false; int index = 0; for(int is = 0; is < pStructComp->size(); is++) { for(int il = 0; il < pStructComp->at(is)->giri.size(); il++) { index++; if(index == logicalIndex) { QFont f; f.setBold(true); if(this->width()-frame->width() >= 600) { labelOffset->setGeometry((this->width()-frame->width())/2 - 300, 0, 600, 20); f.setPixelSize(15); } else if(this->width()-frame->width() >= 380) { labelOffset->setGeometry((this->width()-frame->width())/2 - 190, 0, 380, 20); f.setPixelSize(11); } else { labelOffset->setGeometry(0, 0, (this->width()-frame->width()), 20); f.setPixelSize(11); } labelOffset->setFont(f); labelOffset->show(); found = true; emit setOffsetIndex(is, il); break; } } if(found) break; } } }
-
@JonB Mine, it had been edited wrongly to fix a previous error message.
I have fixed tons of parts now but I'm still struggling with around 15 errors like this:
error: qualified-id in declaration before '(' token
error: qualified-id in declaration before '(' token
| void ChartsAxis::sectionHasBeenClicked(int logicalIndex)
|Here the example code:
void ChartsAxis::sectionHasBeenClicked(int logicalIndex) { if((isComp)&&(logicalIndex > 0)) { bool found = false; int index = 0; for(int is = 0; is < pStructComp->size(); is++) { for(int il = 0; il < pStructComp->at(is)->giri.size(); il++) { index++; if(index == logicalIndex) { QFont f; f.setBold(true); if(this->width()-frame->width() >= 600) { labelOffset->setGeometry((this->width()-frame->width())/2 - 300, 0, 600, 20); f.setPixelSize(15); } else if(this->width()-frame->width() >= 380) { labelOffset->setGeometry((this->width()-frame->width())/2 - 190, 0, 380, 20); f.setPixelSize(11); } else { labelOffset->setGeometry(0, 0, (this->width()-frame->width()), 20); f.setPixelSize(11); } labelOffset->setFont(f); labelOffset->show(); found = true; emit setOffsetIndex(is, il); break; } } if(found) break; } } }
@Actarus
The error message is complaining on the method definition line, so showing its body is not relevant as it does not get that far. For "Function definition not allowed here" you may have to look back a few lines for context, e.g. (only an example) if previous function not properly terminated with a}
it might generate this message. Make sure it marries with the included header declaration too. -
@Actarus
The error message is complaining on the method definition line, so showing its body is not relevant as it does not get that far. For "Function definition not allowed here" you may have to look back a few lines for context, e.g. (only an example) if previous function not properly terminated with a}
it might generate this message. Make sure it marries with the included header declaration too.@JonB Thanks Jon, all sorted with } a few lines above.
Can you help in correcting the sintax for QT6 for the following line of QTableWidgetItem:
colorPicker = new QColorDialog(ui->table->item(r, 0)->backgroundColor(), nullptr
I corrected replacing backgroundColor with background, but I can't get the correct sintax.
I still have only 2 last errors to fix, the first is the one above and the last one is this below, for which I can't find anything online:
Thanks
-
@JonB Thanks Jon, all sorted with } a few lines above.
Can you help in correcting the sintax for QT6 for the following line of QTableWidgetItem:
colorPicker = new QColorDialog(ui->table->item(r, 0)->backgroundColor(), nullptr
I corrected replacing backgroundColor with background, but I can't get the correct sintax.
I still have only 2 last errors to fix, the first is the one above and the last one is this below, for which I can't find anything online:
Thanks
@Actarus said in qt6 migration issue:
and the last one is this below
This is not the error message.
Please post the real error which is above that line...
It is also better to post error as text not images. -
@Actarus said in qt6 migration issue:
and the last one is this below
This is not the error message.
Please post the real error which is above that line...
It is also better to post error as text not images.@jsulm This is what above that line in Compile Output window:
g++ -c -fno-keep-inline-dllexport -g -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DCHARTDIR_HIDE_OBSOLETE -D_CRT_SECURE_NO_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_QUICKWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE5COMPAT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QMLINTEGRATION_LIB -DQT_BLUETOOTH_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_SERIALPORT_LIB -DQT_POSITIONING_LIB -DQT_XML_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I../Test -I. -I../Test/Charts -I../Test/Charts/Tables -I../Test/Charts/JSONObjects -I../Test/Archivio -I../Test/Comp -I../Test/Parse -I../Test/Bluetooth -I../Test/MD5 -I../Test/Devs -I../Test/Devs/DevicesFactory -I../Test/Conf -I../Test/Usb -I../Test/Triggers -I../Test/SubClass -I../Test/Server -I../Test/Exporter -I../Test/Wifi -IC:/Projects/QT_Project/Test/ZipPack/include -IC:/Projects/QT_Project/Test/LimeReport/Release/include -I../include -I../../../Qt/6.5.0/mingw_64/include -I../../../Qt/6.5.0/mingw_64/include/QtPrintSupport -I../../../Qt/6.5.0/mingw_64/include/QtQuickWidgets -I../../../Qt/6.5.0/mingw_64/include/QtWidgets -I../../../Qt/6.5.0/mingw_64/include/QtQuick -I../../../Qt/6.5.0/mingw_64/include/QtOpenGL -I../../../Qt/6.5.0/mingw_64/include/QtGui -I../../../Qt/6.5.0/mingw_64/include/QtCore5Compat -I../../../Qt/6.5.0/mingw_64/include/QtQmlModels -I../../../Qt/6.5.0/mingw_64/include/QtQml -I../../../Qt/6.5.0/mingw_64/include/QtQmlIntegration -I../../../Qt/6.5.0/mingw_64/include/QtBluetooth -I../../../Qt/6.5.0/mingw_64/include/QtNetwork -I../../../Qt/6.5.0/mingw_64/include/QtSql -I../../../Qt/6.5.0/mingw_64/include/QtSerialPort -I../../../Qt/6.5.0/mingw_64/include/QtPositioning -I../../../Qt/6.5.0/mingw_64/include/QtXml -I../../../Qt/6.5.0/mingw_64/include/QtCore -Idebug -I. -I/include -I../../../Qt/6.5.0/mingw_64/mkspecs/win32-g++ -o debug\chartmappa.o ..\Test\Charts\chartmappa.cpp
mingw32-make[1]: *** [Makefile.Debug:32897: debug/colorrange.o] Error 1 -
@jsulm This is what above that line in Compile Output window:
g++ -c -fno-keep-inline-dllexport -g -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DQT_DEPRECATED_WARNINGS -DCHARTDIR_HIDE_OBSOLETE -D_CRT_SECURE_NO_WARNINGS -DQT_PRINTSUPPORT_LIB -DQT_QUICKWIDGETS_LIB -DQT_WIDGETS_LIB -DQT_QUICK_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE5COMPAT_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_QMLINTEGRATION_LIB -DQT_BLUETOOTH_LIB -DQT_NETWORK_LIB -DQT_SQL_LIB -DQT_SERIALPORT_LIB -DQT_POSITIONING_LIB -DQT_XML_LIB -DQT_CORE_LIB -DQT_NEEDS_QMAIN -I../Test -I. -I../Test/Charts -I../Test/Charts/Tables -I../Test/Charts/JSONObjects -I../Test/Archivio -I../Test/Comp -I../Test/Parse -I../Test/Bluetooth -I../Test/MD5 -I../Test/Devs -I../Test/Devs/DevicesFactory -I../Test/Conf -I../Test/Usb -I../Test/Triggers -I../Test/SubClass -I../Test/Server -I../Test/Exporter -I../Test/Wifi -IC:/Projects/QT_Project/Test/ZipPack/include -IC:/Projects/QT_Project/Test/LimeReport/Release/include -I../include -I../../../Qt/6.5.0/mingw_64/include -I../../../Qt/6.5.0/mingw_64/include/QtPrintSupport -I../../../Qt/6.5.0/mingw_64/include/QtQuickWidgets -I../../../Qt/6.5.0/mingw_64/include/QtWidgets -I../../../Qt/6.5.0/mingw_64/include/QtQuick -I../../../Qt/6.5.0/mingw_64/include/QtOpenGL -I../../../Qt/6.5.0/mingw_64/include/QtGui -I../../../Qt/6.5.0/mingw_64/include/QtCore5Compat -I../../../Qt/6.5.0/mingw_64/include/QtQmlModels -I../../../Qt/6.5.0/mingw_64/include/QtQml -I../../../Qt/6.5.0/mingw_64/include/QtQmlIntegration -I../../../Qt/6.5.0/mingw_64/include/QtBluetooth -I../../../Qt/6.5.0/mingw_64/include/QtNetwork -I../../../Qt/6.5.0/mingw_64/include/QtSql -I../../../Qt/6.5.0/mingw_64/include/QtSerialPort -I../../../Qt/6.5.0/mingw_64/include/QtPositioning -I../../../Qt/6.5.0/mingw_64/include/QtXml -I../../../Qt/6.5.0/mingw_64/include/QtCore -Idebug -I. -I/include -I../../../Qt/6.5.0/mingw_64/mkspecs/win32-g++ -o debug\chartmappa.o ..\Test\Charts\chartmappa.cpp
mingw32-make[1]: *** [Makefile.Debug:32897: debug/colorrange.o] Error 1@Actarus said in qt6 migration issue:
debug/colorrange.o] Error 1
Strange, because that
colorrage.o
file is not even mentioned on the previous line, which may have been completed successfully. make may be moving on to build the next file alphabetically. Errno 1 would be "EPERM". Doesdebug/colorrange.o
already exist? Are you able to delete it? -
@Actarus said in qt6 migration issue:
debug/colorrange.o] Error 1
Strange, because that
colorrage.o
file is not even mentioned on the previous line, which may have been completed successfully. make may be moving on to build the next file alphabetically. Errno 1 would be "EPERM". Doesdebug/colorrange.o
already exist? Are you able to delete it? -
@Actarus said in qt6 migration issue:
debug/colorrange.o] Error 1
Strange, because that
colorrage.o
file is not even mentioned on the previous line, which may have been completed successfully. make may be moving on to build the next file alphabetically. Errno 1 would be "EPERM". Doesdebug/colorrange.o
already exist? Are you able to delete it? -
@JonB Can it be related to the error message on the top of the editor window?
Stating:
Error:Could not decode "colorrange.cpp" with "UTF-8"-encoding. Editing not possible. -
@Actarus
That's not good! There would appear to be a problem if editor says the.cpp
is not editable I would be worried :) Which may lead to a problem when trying to compile it to the.o
file.... -
@Actarus
That's not good! There would appear to be a problem if editor says the.cpp
is not editable I would be worried :) Which may lead to a problem when trying to compile it to the.o
file.... -
@JonB I've just checked and I have the same message on the other PC with QT5 but, in that case, it compiles without errors and I can find the colorrange.o file in the debug folder.
-
@Actarus
I would delete thedebug
folder and do a full, clean rebuild from scratch. If it errors look carefully at the compile output, because what you show seems "strange".@JonB Did it but it didn't change, but the colorrange.cpp file is "casually" the same where I have the error mentioned above about backgroundcolor that is the last one code issue that had not yet been corrected.
Could you please give me a tip about it and maybe it fixes also the Error1?
"Can you help in correcting the sintax for QT6 for the following line of QTableWidgetItem:
colorPicker = new QColorDialog(ui->table->item(r, 0)->backgroundColor(), nullptr
I corrected replacing backgroundColor with background, but I can't get the correct sintax."
Thanks.
-
@JonB Did it but it didn't change, but the colorrange.cpp file is "casually" the same where I have the error mentioned above about backgroundcolor that is the last one code issue that had not yet been corrected.
Could you please give me a tip about it and maybe it fixes also the Error1?
"Can you help in correcting the sintax for QT6 for the following line of QTableWidgetItem:
colorPicker = new QColorDialog(ui->table->item(r, 0)->backgroundColor(), nullptr
I corrected replacing backgroundColor with background, but I can't get the correct sintax."
Thanks.
-
@Actarus
The line you show simply seems to be missing the trailing);
. Other than that I don't think it has changed from Qt5. If you get an error copy & paste exactly what the compiler shows you about it.@JonB Sorry, just didn't pasted here the ); but it's in the code.
Actually in QT6 it's no longer possible to use 'backgroundColor', indeed I replaced it with 'background' in all the other situations where I had the same error message and it worked.The error text is the following:
error: 'class QTableWidgetItem' has no member named 'backgroundColor'; did you mean 'background'?
307 | colorPicker = new QColorDialog(ui->table->item(r, 0)->backgroundColor(), nullptr/ui->table/);
| ^~~~~~~~~~~~~~~
| backgroundBut replacing it with 'background', then I get the message :
colorrange.cpp:307:27: No matching constructor for initialization of 'QColorDialog'
qcolordialog.h:36:14: candidate constructor not viable: no known conversion from 'QBrush' to 'const QColor' for 1st argument
qcolordialog.h:35:14: candidate constructor not viable: allows at most single argument 'parent', but 2 arguments were provided
:74:20: note: candidate constructor not viable: requires 1 argument, but 2 were provided