Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. qt6 migration issue
Qt 6.11 is out! See what's new in the release blog

qt6 migration issue

Scheduled Pinned Locked Moved Unsolved General and Desktop
35 Posts 4 Posters 5.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • JonBJ JonB

    @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". Does debug/colorrange.o already exist? Are you able to delete it?

    A Offline
    A Offline
    Actarus
    wrote on last edited by
    #22

    @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.

    JonBJ 1 Reply Last reply
    0
    • A Actarus

      @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.

      JonBJ Online
      JonBJ Online
      JonB
      wrote on last edited by
      #23

      @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....

      A 2 Replies Last reply
      0
      • JonBJ JonB

        @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....

        A Offline
        A Offline
        Actarus
        wrote on last edited by
        #24

        @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.

        JonBJ 1 Reply Last reply
        0
        • JonBJ JonB

          @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....

          A Offline
          A Offline
          Actarus
          wrote on last edited by
          #25

          @JonB Jon, just opened it with text editor and saved it in UTF-8, the encoding error disappeared but the Error 1 is still present.

          1 Reply Last reply
          0
          • A Actarus

            @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.

            JonBJ Online
            JonBJ Online
            JonB
            wrote on last edited by
            #26

            @Actarus
            I would delete the debug folder and do a full, clean rebuild from scratch. If it errors look carefully at the compile output, because what you show seems "strange".

            A 1 Reply Last reply
            0
            • JonBJ JonB

              @Actarus
              I would delete the debug folder and do a full, clean rebuild from scratch. If it errors look carefully at the compile output, because what you show seems "strange".

              A Offline
              A Offline
              Actarus
              wrote on last edited by Actarus
              #27

              @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.

              JonBJ 1 Reply Last reply
              0
              • A Actarus

                @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.

                JonBJ Online
                JonBJ Online
                JonB
                wrote on last edited by
                #28

                @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.

                A 3 Replies Last reply
                0
                • JonBJ JonB

                  @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.

                  A Offline
                  A Offline
                  Actarus
                  wrote on last edited by Actarus
                  #29

                  @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/);
                  | ^~~~~~~~~~~~~~~
                  | background

                  But 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

                  1 Reply Last reply
                  0
                  • JonBJ JonB

                    @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.

                    A Offline
                    A Offline
                    Actarus
                    wrote on last edited by
                    #30

                    @JonB Jon, fixed both with the correct sintax:

                    colorPicker = new QColorDialog(ui->table->item(r, 0)->background().color(), nullptr);
                    

                    This also fixed the error1 and now the .o file is generated

                    1 Reply Last reply
                    0
                    • JonBJ JonB

                      @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.

                      A Offline
                      A Offline
                      Actarus
                      wrote on last edited by Actarus
                      #31

                      @JonB Jon, now that I fixed all the errors, if I compile I suddenly get around 1600 errors like the following one but in QT5 it has always compiled and run perfectly.

                      error: conversion from 'const char [2]' to 'QChar' is ambiguous
                      : conversion from 'const char [2]' to 'QChar' is ambiguous
                      933 | if(formula.at(i) == "'" && i+1 < formula.length())
                      | ^~~

                      Invalid operands to binary expression ('const QChar' and 'const char[2]')
                      qchar.h:582:34: candidate function not viable: no known conversion from 'const char[2]' to 'QChar' for 2nd argument

                      Here the code:

                      QString can;
                                                                  for(int i = 0; i < formula.size(); i++)
                                                                  {
                                                                      if(formula.at(i) == "'" && i+1 < formula.length())
                                                                      {
                                                                          i += 1;
                                                                          while(i < formula.length() && formula.at(i) != "'")
                                                                          {
                                                                              can.append(formula.at(i));
                                                                              i += 1;
                                                                          }
                                                                          if(cBoxChannel_1->findText(can) != -1)
                                                                          {
                                                                              nChannels += 1;
                                                                              if(nChannels == 1)
                                                                                  cBoxChannel_1->setCurrentIndex(cBoxChannel_1->findText(can));
                                                                              else
                                                                                  if(nChannels == 2)
                                                                                      cBoxChannel_2->setCurrentIndex(cBoxChannel_2->findText(can));
                                                                                  else
                                                                                      if(nChannels == 3)
                                                                                          cBoxChannel_3->setCurrentIndex(cBoxChannel_3->findText(can));
                                                                                      else
                                                                                          if(nChannels == 4)
                                                                                              cBoxChannel_4->setCurrentIndex(cBoxChannel_4->findText(can));
                                                                                          else
                                                                                              if(nChannels == 5)
                                                                                                  cBoxChannel_5->setCurrentIndex(cBoxChannel_5->findText(can));
                                                                                              else
                                                                                                  if(nChannels == 6)
                                                                                                      cBoxChannel_6->setCurrentIndex(cBoxChannel_6->findText(can));
                                                                                                  else
                                                                                                      if(nChannels == 7)
                                                                                                          cBoxChannel_7->setCurrentIndex(cBoxChannel_7->findText(can));
                                                                                                      else
                                                                                                          if(nChannels == 8)
                                                                                                              cBoxChannel_8->setCurrentIndex(cBoxChannel_8->findText(can));
                                                                          }
                                                                          can.clear();
                                                                      }
                                                                  }
                      

                      The claimed part is the ==:

                      if(formula.at(i) == "'" && i+1 < formula.length())

                      Christian EhrlicherC 1 Reply Last reply
                      0
                      • A Actarus

                        @JonB Jon, now that I fixed all the errors, if I compile I suddenly get around 1600 errors like the following one but in QT5 it has always compiled and run perfectly.

                        error: conversion from 'const char [2]' to 'QChar' is ambiguous
                        : conversion from 'const char [2]' to 'QChar' is ambiguous
                        933 | if(formula.at(i) == "'" && i+1 < formula.length())
                        | ^~~

                        Invalid operands to binary expression ('const QChar' and 'const char[2]')
                        qchar.h:582:34: candidate function not viable: no known conversion from 'const char[2]' to 'QChar' for 2nd argument

                        Here the code:

                        QString can;
                                                                    for(int i = 0; i < formula.size(); i++)
                                                                    {
                                                                        if(formula.at(i) == "'" && i+1 < formula.length())
                                                                        {
                                                                            i += 1;
                                                                            while(i < formula.length() && formula.at(i) != "'")
                                                                            {
                                                                                can.append(formula.at(i));
                                                                                i += 1;
                                                                            }
                                                                            if(cBoxChannel_1->findText(can) != -1)
                                                                            {
                                                                                nChannels += 1;
                                                                                if(nChannels == 1)
                                                                                    cBoxChannel_1->setCurrentIndex(cBoxChannel_1->findText(can));
                                                                                else
                                                                                    if(nChannels == 2)
                                                                                        cBoxChannel_2->setCurrentIndex(cBoxChannel_2->findText(can));
                                                                                    else
                                                                                        if(nChannels == 3)
                                                                                            cBoxChannel_3->setCurrentIndex(cBoxChannel_3->findText(can));
                                                                                        else
                                                                                            if(nChannels == 4)
                                                                                                cBoxChannel_4->setCurrentIndex(cBoxChannel_4->findText(can));
                                                                                            else
                                                                                                if(nChannels == 5)
                                                                                                    cBoxChannel_5->setCurrentIndex(cBoxChannel_5->findText(can));
                                                                                                else
                                                                                                    if(nChannels == 6)
                                                                                                        cBoxChannel_6->setCurrentIndex(cBoxChannel_6->findText(can));
                                                                                                    else
                                                                                                        if(nChannels == 7)
                                                                                                            cBoxChannel_7->setCurrentIndex(cBoxChannel_7->findText(can));
                                                                                                        else
                                                                                                            if(nChannels == 8)
                                                                                                                cBoxChannel_8->setCurrentIndex(cBoxChannel_8->findText(can));
                                                                            }
                                                                            can.clear();
                                                                        }
                                                                    }
                        

                        The claimed part is the ==:

                        if(formula.at(i) == "'" && i+1 < formula.length())

                        Christian EhrlicherC Online
                        Christian EhrlicherC Online
                        Christian Ehrlicher
                        Lifetime Qt Champion
                        wrote on last edited by Christian Ehrlicher
                        #32

                        error: conversion from 'const char [2]' to 'QChar' is ambiguous
                        : conversion from 'const char [2]' to 'QChar' is ambiguous

                        We already discussed this problem ...

                        Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                        Visit the Qt Academy at https://academy.qt.io/catalog

                        A 1 Reply Last reply
                        0
                        • Christian EhrlicherC Christian Ehrlicher

                          error: conversion from 'const char [2]' to 'QChar' is ambiguous
                          : conversion from 'const char [2]' to 'QChar' is ambiguous

                          We already discussed this problem ...

                          A Offline
                          A Offline
                          Actarus
                          wrote on last edited by Actarus
                          #33

                          @Christian-Ehrlicher Thanks, fixed.

                          I'm facing a couple of situations that in QT5 compile without problem but not in QT6:

                          connect(xychart->m_ChartViewer, &QChartViewer::needTrackLineXYChart, this, &AnalysisWindow::trackLineAxis);
                          

                          and

                          connect(m_ChartViewer, &QChartViewer::MouseIsPressed, this, &BaseViewPortComp::mousePressEvent);
                          

                          In both cases the problem is error:
                          static assertion failed: Signal and slot arguments are not compatible.
                          214 | static_assert((QtPrivate::CheckCompatibleArguments<typename SignalType::Arguments, typename SlotType::Arguments>::value),

                          I assume it's because it's not possible to connect a QPointerEvent to a QMouseEvent, but how to get out of this?

                          Christian EhrlicherC 1 Reply Last reply
                          0
                          • A Actarus

                            @Christian-Ehrlicher Thanks, fixed.

                            I'm facing a couple of situations that in QT5 compile without problem but not in QT6:

                            connect(xychart->m_ChartViewer, &QChartViewer::needTrackLineXYChart, this, &AnalysisWindow::trackLineAxis);
                            

                            and

                            connect(m_ChartViewer, &QChartViewer::MouseIsPressed, this, &BaseViewPortComp::mousePressEvent);
                            

                            In both cases the problem is error:
                            static assertion failed: Signal and slot arguments are not compatible.
                            214 | static_assert((QtPrivate::CheckCompatibleArguments<typename SignalType::Arguments, typename SlotType::Arguments>::value),

                            I assume it's because it's not possible to connect a QPointerEvent to a QMouseEvent, but how to get out of this?

                            Christian EhrlicherC Online
                            Christian EhrlicherC Online
                            Christian Ehrlicher
                            Lifetime Qt Champion
                            wrote on last edited by
                            #34

                            Qt has no class named QChartViewer so I don't know this class. Most likely the signature of the signals changed so you have to adjust your slots accordingly - normal developer stuff.

                            Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                            Visit the Qt Academy at https://academy.qt.io/catalog

                            A 1 Reply Last reply
                            1
                            • Christian EhrlicherC Christian Ehrlicher

                              Qt has no class named QChartViewer so I don't know this class. Most likely the signature of the signals changed so you have to adjust your slots accordingly - normal developer stuff.

                              A Offline
                              A Offline
                              Actarus
                              wrote on last edited by
                              #35

                              @Christian-Ehrlicher Thanks Christian, fixed adjusting slots.

                              1 Reply Last reply
                              0

                              • Login

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • Users
                              • Groups
                              • Search
                              • Get Qt Extensions
                              • Unsolved