Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. QClipboard e immagini
Forum Updated to NodeBB v4.3 + New Features

QClipboard e immagini

Scheduled Pinned Locked Moved Solved Italian
13 Posts 3 Posters 2.7k Views 2 Watching
  • 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.
  • mrdebugM Offline
    mrdebugM Offline
    mrdebug
    wrote on last edited by
    #2

    Non penso sia un problema di QClipboard. Se ottieni il path significa che quando hai cliccato su "copia" in verità nella clipboard è stato messo il path, non l'array di byte che rappresenta l'immagine.
    Se vuoi l'immagine eventualmente puoi ottenerla caricandola dal path che ti è stato indicato, posto che il formato sia conosciuto.

    Need programmers to hire?
    www.labcsp.com
    www.denisgottardello.it
    GMT+1
    Skype: mrdebug

    1 Reply Last reply
    1
    • F Offline
      F Offline
      fermatqt
      wrote on last edited by
      #3

      ciao!

      ok, però il problema è che non ricade mai nella condizione mimeData->hasImage().
      quindi non saprei come identificare che sto provando a copiare una immagine!
      stiamo parlando di normali immagini jpg.

      questo:

      void MainWindow::on_textEdit_textChanged() {
          QClipboard *clipboard = QApplication::clipboard();
          const QMimeData *mimeData = clipboard->mimeData();
          qDebug() << clipboard->mimeData();
          if (mimeData->hasImage()) {
              clipboard->setPixmap(qvariant_cast<QPixmap>(mimeData->imageData()));
              qDebug() << "Immagine";
          } else if (mimeData->hasHtml()) {
              clipboard->setText(mimeData->html());
              qDebug() << "HTML";
          } else if (mimeData->hasText()) {
              clipboard->setText(mimeData->text());
              qDebug() << "Testo semplice";
          } else {
              clipboard->setText(tr("Impossibile visualizzare i dati copiati!"));
              qDebug() << "Nessuno dei precedenti";
          }
      }
      

      mi da questo quando provo a copiare una immagine:

      QXcbClipboardMime(0x7f78f4006250)
      Testo semplice
      
      1 Reply Last reply
      0
      • mrdebugM Offline
        mrdebugM Offline
        mrdebug
        wrote on last edited by
        #4

        Prova ad editare con paint di Windows una immagine, a selezionare una sua parte ed a copiare la parte selezionata e facci sapere cosa accade.

        Need programmers to hire?
        www.labcsp.com
        www.denisgottardello.it
        GMT+1
        Skype: mrdebug

        1 Reply Last reply
        1
        • F Offline
          F Offline
          fermatqt
          wrote on last edited by
          #5

          allora:

          • sono su linux
          • ho provato con gimp
          • e sto usando una TextEdit

          cosi come sono messo, non succede nulla.
          ho provato a selezionare una parte dell'immagine in gimp e ad incollarla nella textedit.
          non succede niente.

          1 Reply Last reply
          0
          • VRoninV Offline
            VRoninV Offline
            VRonin
            wrote on last edited by VRonin
            #6

            @fermatqt said in QClipboard e immagini:

            ho provato a selezionare una parte dell'immagine in gimp e ad incollarla nella textedit.

            QClipboard *clipboard = QApplication::clipboard();
            clipboard->setPixmap(qvariant_cast<QPixmap>(mimeData->imageData()));

            Prendi quello che c'e' nella clipboard e lo metti di nuovo nella clipboard. Il tuo codice non fa quello che chiedi

            se copio una immagine, mi esce fuori il path dove si trova l'immagine.

            Da dove lo stai copiando?

            Puoi usare qDebug() << clipboard->formats(); per vedere tutto cio' che c'e' disponibile?

            "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
            ~Napoleon Bonaparte

            On a crusade to banish setIndexWidget() from the holy land of Qt

            1 Reply Last reply
            0
            • mrdebugM Offline
              mrdebugM Offline
              mrdebug
              wrote on last edited by
              #7

              Ciao, prova ad aprire una immagine con KolourPaint ad esempio, a selezionare e copiare una parte di immagine.
              Nel form mi sono messo un pulsante. Lo clicco ed usando il tuo codice mi dice

              QXcbClipboardMime(0x55ea90503d20)
              Immagine

              A questo punto probabilmente devi lavorare sull'evento che stai usando suolla text edit.

              Need programmers to hire?
              www.labcsp.com
              www.denisgottardello.it
              GMT+1
              Skype: mrdebug

              F 1 Reply Last reply
              0
              • F Offline
                F Offline
                fermatqt
                wrote on last edited by
                #8

                allora, questa riga non funziona:

                qDebug() << clipboard->formats();
                

                mi dice che ‘class QClipboard’ has no member named ‘formats’.

                per quanto riguarda le immagini, le sto copiando dal filesystem.

                VRoninV 1 Reply Last reply
                0
                • mrdebugM Offline
                  mrdebugM Offline
                  mrdebug
                  wrote on last edited by
                  #9

                  Bé, se le copi dal filesistem è ovvio che hai solo il path.

                  Need programmers to hire?
                  www.labcsp.com
                  www.denisgottardello.it
                  GMT+1
                  Skype: mrdebug

                  F 1 Reply Last reply
                  1
                  • mrdebugM mrdebug

                    Ciao, prova ad aprire una immagine con KolourPaint ad esempio, a selezionare e copiare una parte di immagine.
                    Nel form mi sono messo un pulsante. Lo clicco ed usando il tuo codice mi dice

                    QXcbClipboardMime(0x55ea90503d20)
                    Immagine

                    A questo punto probabilmente devi lavorare sull'evento che stai usando suolla text edit.

                    F Offline
                    F Offline
                    fermatqt
                    wrote on last edited by
                    #10

                    @mrdebug said in QClipboard e immagini:

                    Ciao, prova ad aprire una immagine con KolourPaint ad esempio, a selezionare e copiare una parte di immagine.
                    Nel form mi sono messo un pulsante. Lo clicco ed usando il tuo codice mi dice

                    QXcbClipboardMime(0x55ea90503d20)
                    Immagine

                    A questo punto probabilmente devi lavorare sull'evento che stai usando suolla text edit.

                    si in effetti con il pulsante anche a me risulta una immagine (ho usato gimp).

                    1 Reply Last reply
                    0
                    • mrdebugM mrdebug

                      Bé, se le copi dal filesistem è ovvio che hai solo il path.

                      F Offline
                      F Offline
                      fermatqt
                      wrote on last edited by
                      #11

                      @mrdebug si, sono io che non ho ben capito come funziona qclipaboard probabilmente!!

                      1 Reply Last reply
                      0
                      • F fermatqt

                        allora, questa riga non funziona:

                        qDebug() << clipboard->formats();
                        

                        mi dice che ‘class QClipboard’ has no member named ‘formats’.

                        per quanto riguarda le immagini, le sto copiando dal filesystem.

                        VRoninV Offline
                        VRoninV Offline
                        VRonin
                        wrote on last edited by
                        #12

                        @fermatqt said in QClipboard e immagini:

                        allora, questa riga non funziona:

                        qDebug() << clipboard->formats();
                        

                        mi dice che ‘class QClipboard’ has no member named ‘formats’.

                        scusa ho perso un pezzo: qDebug() << clipboard->mimeData()->formats();

                        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                        ~Napoleon Bonaparte

                        On a crusade to banish setIndexWidget() from the holy land of Qt

                        1 Reply Last reply
                        0
                        • F Offline
                          F Offline
                          fermatqt
                          wrote on last edited by
                          #13

                          ok, ho capito il funzionamento.
                          grazie a entrambi!!

                          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