Qtodo fordítási problémák

Kezdőlap Fórumok SOS! Bajban vagyok Qtodo fordítási problémák

7 bejegyzés megtekintése - 21-27 / 27
  • Szerző
    Bejegyzés
  • #2125951
    zoltan22
    Felhasználó

      Erre csak tippem van: mig a szulo osztalyban (QLineEdit) a keyPressEvent „protedted” tipusu, addig a gyerek osztalyban mar „private”, es lehet hogy ezt nem szereti az uj g++. Ha lecsereled a „private”-ot „protected”-re a qtodo_item.h fajl ~70. soraban, akkor is jelentkezik a hiba?

      Code:
      class QTodoLineEdit : public QLineEdit
      {
      public:
      QTodoLineEdit(QWidget*);

      private:  // << ez "protected" ?
      void keyPressEvent(QKeyEvent*);
      };

      #2125952
      zoltan22
      Felhasználó

        Erre csak tippem van: mig a szulo osztalyban (QLineEdit) a keyPressEvent „protedted” tipusu, addig a gyerek osztalyban mar „private”, es lehet hogy ezt nem szereti az uj g++. Ha lecsereled a „private”-ot „protected”-re a qtodo_item.h fajl ~70. soraban, akkor is jelentkezik a hiba?

        Code:
        class QTodoLineEdit : public QLineEdit
        {
        public:
        QTodoLineEdit(QWidget*);

        private:  // << ez "protected" ?
        void keyPressEvent(QKeyEvent*);
        };

        #2125953
        uzsolt
        Felhasználó

          Sajna ugyanaz a hiba 🙁

          #2125954
          uzsolt
          Felhasználó

            Sajna ugyanaz a hiba 🙁

            #2125955
            zoltan22
            Felhasználó

              Nem ertem mi baja a g++-nak. Leirom, hogy mi tortenik ott, hatha valakit megszall az ihlet. 🙂

              Code:
              class QTodoLineEdit : public QLineEdit
              {
              public:
              QTodoLineEdit(QWidget*);

              private:
              void keyPressEvent(QKeyEvent*);
              };

              A QTodoLineEdit oszltay QLineEdit-bol oroklodik, az pedig a QWidget-bol. (latsd itt)
              A QWidget-nek van egy „keyPressEvent(QKeyEvent*)” fuggvenye.

              Code:
              void QTodoLineEdit::keyPressEvent(QKeyEvent* event)
              {
              if(event->state() == Qt::AltButton)
              {
              QWidget::keyPressEvent(event); // << itt lenne a hiba
              return;
              }

              QLineEdit::keyPressEvent(event);
              }

              Ahol a hiba van, ott a QTodoLineEdit tipusu objektum sajat magat QWidget-kent kezelve (az is, az oroklodes miatt) meg akarja hivni a keyPressEvent fuggvenyt. A fordito szerint a fuggveny „nem latszik”. De miert ???

              #2125956
              zoltan22
              Felhasználó

                Nem ertem mi baja a g++-nak. Leirom, hogy mi tortenik ott, hatha valakit megszall az ihlet. 🙂

                Code:
                class QTodoLineEdit : public QLineEdit
                {
                public:
                QTodoLineEdit(QWidget*);

                private:
                void keyPressEvent(QKeyEvent*);
                };

                A QTodoLineEdit oszltay QLineEdit-bol oroklodik, az pedig a QWidget-bol. (latsd itt)
                A QWidget-nek van egy „keyPressEvent(QKeyEvent*)” fuggvenye.

                Code:
                void QTodoLineEdit::keyPressEvent(QKeyEvent* event)
                {
                if(event->state() == Qt::AltButton)
                {
                QWidget::keyPressEvent(event); // << itt lenne a hiba
                return;
                }

                QLineEdit::keyPressEvent(event);
                }

                Ahol a hiba van, ott a QTodoLineEdit tipusu objektum sajat magat QWidget-kent kezelve (az is, az oroklodes miatt) meg akarja hivni a keyPressEvent fuggvenyt. A fordito szerint a fuggveny „nem latszik”. De miert ???

                #1886846
                csaba
                Felhasználó

                  A nagy gondom az, hogy a qtodo progit nem tudom lefordítani.
                  Azt mindenekelőtt hozzá kell tenni, hogy ő qt3-as progi, és a qt honlapján található leírás (http://doc.trolltech.com/4.3/porting4.html) alapján próbáltam „qt4-essé” tenni.
                  Ezután a qmake rendben lefut, viszont a make már nem:

                  $ make

                  cd src/ && make -f Makefile
                  make[1]: Entering directory `/usr/src/qtodo/src’
                  g++ -c -O3 -march=pentium4 -fomit-frame-pointer -pipe -pipe -O2 -D_REENTRANT -Wall -W -DQT_NO_DEBUG -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../progs/libs/qt4/4.3.0/mkspecs/default -I. -I../../../progs/libs/qt4/4.3.0/include/QtCore -I../../../progs/libs/qt4/4.3.0/include/QtCore -I../../../progs/libs/qt4/4.3.0/include/QtGui -I../../../progs/libs/qt4/4.3.0/include/QtGui -I../../../progs/libs/qt4/4.3.0/include/Qt3Support -I../../../progs/libs/qt4/4.3.0/include/Qt3Support -I../../../progs/libs/qt4/4.3.0/include -I. -I. -o qtodo_widget.o qtodo_widget.cpp
                  qtodo_widget.cpp: In constructor ‘QTodoWidget::QTodoWidget(Qt::WFlags)’:
                  [red]qtodo_widget.cpp:106: error: no matching function for call to ‘QIcon::QIcon(QPixmap, QIcon::Size)'[/red]
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:50: note: candidates are: QIcon::QIcon(QIconEngineV2*)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:49: note:                QIcon::QIcon(QIconEngine*)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:48: note:                QIcon::QIcon(const QString&)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:47: note:                QIcon::QIcon(const QIcon&)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:46: note:                QIcon::QIcon(const QPixmap&)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:45: note:                QIcon::QIcon()
                  qtodo_widget.cpp:109: error: no matching function for call to ‘QIcon::QIcon(QPixmap, QIcon::Size)’
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:50: note: candidates are: QIcon::QIcon(QIconEngineV2*)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:49: note:                QIcon::QIcon(QIconEngine*)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:48: note:                QIcon::QIcon(const QString&)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:47: note:                QIcon::QIcon(const QIcon&)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:46: note:                QIcon::QIcon(const QPixmap&)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qicon.h:45: note:                QIcon::QIcon()
                  [red]qtodo_widget.cpp:130: error: ‘CTRL’ was not declared in this scope[/red]
                  qtodo_widget.cpp:130: error: ‘Key_S’ was not declared in this scope
                  qtodo_widget.cpp:134: error: ‘Key_P’ was not declared in this scope
                  qtodo_widget.cpp:137: error: ‘Key_Q’ was not declared in this scope
                  qtodo_widget.cpp:164: error: ‘Key_F1’ was not declared in this scope
                  qtodo_widget.cpp:176: error: ‘Key_F’ was not declared in this scope
                  qtodo_widget.cpp:179: error: ‘Key_F3’ was not declared in this scope
                  qtodo_widget.cpp:182: error: ‘Key_F4’ was not declared in this scope
                  qtodo_widget.cpp:185: error: ‘ALT’ was not declared in this scope
                  qtodo_widget.cpp:185: error: ‘Key_Z’ was not declared in this scope
                  qtodo_widget.cpp:188: error: ‘Key_F2’ was not declared in this scope
                  qtodo_widget.cpp:191: error: ‘Key_F11’ was not declared in this scope
                  qtodo_widget.cpp:194: error: ‘Key_F12’ was not declared in this scope
                  qtodo_widget.cpp:197: error: ‘Key_Prior’ was not declared in this scope
                  qtodo_widget.cpp:200: error: ‘Key_Next’ was not declared in this scope
                  qtodo_widget.cpp:203: error: ‘Key_Minus’ was not declared in this scope
                  qtodo_widget.cpp:206: error: ‘Key_7’ was not declared in this scope
                  qtodo_widget.cpp:209: error: ‘Key_8’ was not declared in this scope
                  qtodo_widget.cpp:212: error: ‘Key_9’ was not declared in this scope
                  qtodo_widget.cpp:215: error: ‘Key_O’ was not declared in this scope
                  qtodo_widget.cpp:221: error: ‘Key_A’ was not declared in this scope
                  qtodo_widget.cpp:224: error: ‘SHIFT’ was not declared in this scope
                  qtodo_widget.cpp: In member function ‘void QTodoWidget::updateListsMenu()’:
                  qtodo_widget.cpp:455: error: call of overloaded ‘insertItem(QPixmap, QString, int&)’ is ambiguous
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:169: note: candidates are: int QMenu::insertItem(const QPixmap&, const QObject*, const char*, const QKeySequence&, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:176: note:                int QMenu::insertItem(const QIcon&, const QString&, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:182: note:                int QMenu::insertItem(const QIcon&, const QString&, QMenu*, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:185: note:                int QMenu::insertItem(const QPixmap&, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:189: note:                int QMenu::insertItem(const QPixmap&, QMenu*, int, int)
                  qtodo_widget.cpp: In member function ‘void QTodoWidget::trayMenuAboutToShow()’:
                  qtodo_widget.cpp:503: error: call of overloaded ‘insertItem(QPixmap, QString, )’ is ambiguous
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:176: note: candidates are: int QMenu::insertItem(const QIcon&, const QString&, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:185: note:                int QMenu::insertItem(const QPixmap&, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:189: note:                int QMenu::insertItem(const QPixmap&, QMenu*, int, int)
                  qtodo_widget.cpp:509: error: call of overloaded ‘insertItem(QPixmap, QString, )’ is ambiguous
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:176: note: candidates are: int QMenu::insertItem(const QIcon&, const QString&, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:185: note:                int QMenu::insertItem(const QPixmap&, int, int)
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qmenu.h:189: note:                int QMenu::insertItem(const QPixmap&, QMenu*, int, int)
                  qtodo_widget.cpp: In member function ‘void QTodoWidget::trayiconDeadlinesWarning()’:
                  qtodo_widget.cpp:649: error: no match for ‘operator=’ in ‘image = QTodoXPM::dead’
                  ../../../progs/libs/qt4/4.3.0/include/QtGui/qimage.h:114: note: candidates are: QImage& QImage::operator=(const QImage&)
                  qtodo_widget.cpp:650: error: ‘class QImage’ has no member named ‘scale’
                  qtodo_widget.cpp: In member function ‘void QTodoWidget::updateEditMenu()’:
                  qtodo_widget.cpp:731: error: ‘ALT’ was not declared in this scope
                  qtodo_widget.cpp:731: error: ‘Key_Z’ was not declared in this scope
                  qtodo_widget.cpp:741: error: ‘Key_F2’ was not declared in this scope
                  make[1]: *** [qtodo_widget.o] Error 1
                  make[1]: Leaving directory `/usr/src/qtodo/src’
                  make: *** [sub-src-make_default] Error 2

                  Az első típusú hiba még OK(?), tehát talán a forráskódot próbálom meg átírni. A második (…was not declared in this scope) már érdekes. Neten keresgéltem, de a gugli sokadik oldalán is a hiba mindig az volt, hogy valamiféle header-fájlt nem talált. Namost nálam ez nem teljesül, legalábbis nincs ilyen üzi.
                  A gcc-m 4.1.1-es.

                  Mit lehetne tenni, hogy leforduljon? A qt3-ra való visszatérés nem megoldható, mivel jónéhány progim van, aminek feltétlenül qt4 kell.

                7 bejegyzés megtekintése - 21-27 / 27
                • Be kell jelentkezni a hozzászóláshoz.