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. Replace text smiley with images in QListView

Replace text smiley with images in QListView

Scheduled Pinned Locked Moved General and Desktop
16 Posts 4 Posters 6.2k Views 1 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.
  • P Offline
    P Offline
    psbhardwaj09gmail.com
    wrote on last edited by
    #7

    Hi

    In my case QString textMessage ="hello <img_src="../emoticons/cute.png">""; is not the problem.

    textMessage is not getting displayed in messageRect.

    but when i am using
    @doc->drawContents(painter); @

    instead of
    @doc->drawContents(painter, messageRect);@
    textMessage is displaying in QListView. But there is also a problem that when i again add another message to list then it gets overlapped with old one.

    Rgds,
    Pardeep

    Pardeep Sharma

    1 Reply Last reply
    0
    • raven-worxR Offline
      raven-worxR Offline
      raven-worx
      Moderators
      wrote on last edited by
      #8

      ok i see ... try this:
      @
      void ConversationViewItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option) const
      {
      painter->save();
      ....
      painter->translate( option.rect.topLeft() );

       QTextDocument *doc = new QTextDocument();
             doc->setHtml(textMessage);
              doc->drawContents(painter, messageRect);
       painter->restore();
      

      }
      @

      --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
      If you have a question please use the forum so others can benefit from the solution in the future

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #9

        To add to raven_worx, are you sure that your images can be found ? Using relative path can be tricky

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • P Offline
          P Offline
          psbhardwaj09gmail.com
          wrote on last edited by
          #10

          Hi SGalst,

          Image is not issue, i am able to find image.

          Pardeep Sharma

          1 Reply Last reply
          0
          • raven-worxR Offline
            raven-worxR Offline
            raven-worx
            Moderators
            wrote on last edited by
            #11

            and the translation of the painter? did it work?

            --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
            If you have a question please use the forum so others can benefit from the solution in the future

            1 Reply Last reply
            0
            • Z Offline
              Z Offline
              zgulser
              wrote on last edited by
              #12

              Hi fellas,

              Anyone solved or know how to this exactly the same problem I have?

              1 Reply Last reply
              0
              • raven-worxR Offline
                raven-worxR Offline
                raven-worx
                Moderators
                wrote on last edited by
                #13

                [quote author="zgulser" date="1387383975"]
                Anyone solved or know how to this exactly the same problem I have?[/quote]

                How should anyone even know what problem you have?!

                --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                If you have a question please use the forum so others can benefit from the solution in the future

                1 Reply Last reply
                0
                • Z Offline
                  Z Offline
                  zgulser
                  wrote on last edited by
                  #14

                  I meant the problem presented in this thread

                  1 Reply Last reply
                  0
                  • raven-worxR Offline
                    raven-worxR Offline
                    raven-worx
                    Moderators
                    wrote on last edited by
                    #15

                    the thread author stopped responding in this thread...
                    Maybe you can provide a minimal compileable example. I am pretty sure it's a small thing missing to make the example form above to work.

                    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                    If you have a question please use the forum so others can benefit from the solution in the future

                    1 Reply Last reply
                    0
                    • Z Offline
                      Z Offline
                      zgulser
                      wrote on last edited by
                      #16

                      Ok raven. Here is the part of the code that is working but not as expected;

                      @
                      ....

                      QRect messageContentRect = messageFontMetrics.boundingRect(textOffset4,
                      rect.top() + textHeightInPixels + 13,
                      rect.width() - (textOffset
                      4) - dateTimeTextWidthInPixels - 5 - 10 , 0,
                      Qt::AlignLeft | Qt::AlignTop | Qt::TextWrapAnywhere,
                      messageContent);

                      painter->setPen(QColor("#363636"));
                      messageContent = smilifyMessage(messageContent);
                      QTextDocument *doc = new QTextDocument();
                      doc->setHtml(messageContent);
                      //painter->drawText(messageContentRect, Qt::AlignLeft | Qt::AlignTop |Qt::TextWrapAnywhere, //messageContent, &actuallyUsedRectForMessage);
                      doc->drawContents(painter, messageContentRect);

                          ....
                      

                      @

                      QPainter::drawText () is working as expected and messages shown in the view. But if I use QTextDocument::drawContents() method instead, then messages are not shown.

                      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