Important: Please read the Qt Code of Conduct -

What is best way to implement an interactive/advanced chat widget

  • Hi all,

    I need to implement some viewer of messenger events. I have several directions to go (will explain below) but i need some words from experience.

    Needed features are:

    • embedding of complex interactive widgets within the messaging viewer (file transfer status and control, embedded audio and video player)
    • maybe selection of text across items
    • per item dynamically changing icons, asynchronously loaded thumbnails

    Overtime i have seen in action the following solutions

    • QListView with custom draw delegate (was good as long as we only had read only content)
    • (current solution) QListWidget with subitems styled with QSS (very very slow, creating a list with 30 widgets takes 3-4 secs).

    The solutions i am thinking now are:

    • Improved ListWidget with subitems but can reuse/recycle subitems which are not visible anymore and implement some manual scrolling by moving the subitems. (Seems to be somehow faster in the sense that uses less ram and is faster to load initially since only visible widgets are loaded, still a hacky solution which i do not prefer)
    • QML ListView with multiple delegates to generated diferent items
    • QWebKit with plugins to interface with complex objects like QVideoWidget

    I am undecided between QML and WebKit. Which one do you think will be faster and will be more friendly to integrate custom widgets and actions in it?


Log in to reply