Important: Please read the Qt Code of Conduct -

Need a roadmap on building a Web Faced Desktop App on Linux KDE

  • Hi, i'm looking for some advice or a roadmap on how should i proceed with this system design. So this app will be a Stock Analysis app, running on Linux KDE environment with direct integration to the desktop, and will also have floating/dockable desktop widgets, and much more.

    So i chose QtWidget for this. Right now these are the main objectives of the app

    1. Upon opening the app there will be a separate tab, opening which will take the user to the backend stock market app running on web. I need to display this whole website (of the backend stock market app) directly in this tab. The user will login to the backend website using their credentials just like they do in an ordinary browser. After logging in, the app needs to manage/store the user session. Upon doing all this, the app will use this session info to retrieve specific data for the user and store it in backend database ( Mysql preferably ). How should i proceed with this. Integrating QtWebengine in the base QtWidget app seems to be the straightforward choice. ? But please do let me know about your opinions.

    2. In another tab there will be this Javascript based charting library which will display charts of selected stocks. The communication with this library, will be done using Websockets. So how do i integrate this in the app. QtWebchannel ?

    3. Another tab will display market analysis data using the C++ backend data computation layer. So far this seems to be the most straightforward module to integrate :-)

    4. The main window of the app will show the marketwatch , in which the user can add/remove/edit stocks. It will show stocks performance, ratings, etc. in dashboard like widgets. User can attach notes, can add stocks for analysis, can open the backend app for a selected stocks, can open the chart of a selected stocks, etc from this mainwindow. So how to proceed with this.

    Please share any thoughts , ideas on how to achieve all this in a single desktop based Qt app running on Linux KDE environment with direct desktop integration ( notifications, sound alarms, timers, etc). I would appreciate any input.


  • Lifetime Qt Champion


    If you would like tight integration with KDE then you should rather contact the KDE folks and also take a look at KF5. Note that it is based on Qt so what you are looking for is still valid.

    1. So a QTabWidget with the matching QtWebEngineView ?
    2. Is it again a page or are you doing the rendering yourself ? What library is it ? You also might be interested by the QtCharts module.
    3. A QMainWindow containing at least a QTabWidget from the above points ?

    From your question it's not clear what integration you would like with KDE's desktop. What exactly would you have integrated ?

  • @SGaist Well you could say the main targetting platform is KDE linux but in general it should run equally well on any Linux desktop environment albeit with the required adjustments. Hence i'm planning on doing all the coding in Qt and for the desktop integration portions, i would like to just add the necessary codes. But it will be totally written in Qt5.6.

    1. Yes thats what i was looking for , a QTabWidget . So i will look to install the QtWebengine in that specific Qtab to take the user to the specific backend website and process the sessions and cookies.

    2. Its the charting library of , which i want to integrate into a separate QTabWidget and connect the library with Qt/MySQL using Websockets.

    3. Yes. The mainwindow is the entry point of the app. Its main aim is to display the stocks and the associated info as best as possible in a clean manner. According to your clicking on a stock in this marketwatch will open up the respective tabs( #1, #2, etc). But what do you recommend on using to model this marketwatch table. It should be a highly interactive, editable, UI table. Which would allow manual sorting of rows, automatic sorting, individual row coloring, expanding of rows to show more associated info, and so on.

    But again the integration portion is actually the last module in this whole app. As it will run mainly on KDE linux so the app should be able to send notifications directly to KDE and display on the desktop much like a KDE notifications. As KDE is also Qt so i figured that this would be relatively straightforward.

    And thanks a lot for your help. I really appreciate it.

  • Lifetime Qt Champion

    Since it looks like you want it highly dynamic graphically speaking, you should also take a look at the declarative module i.e. QtQuick 2 and QML. That might be a simpler road for what you want.

  • @SGaist Hmmm... That sounds like a fantastic idea. Yes, QtQuick 2.0 will help make things more dynamic attuned to the modern Web Based look-n-feel of the App but running on Desktop equally well.

    Well i think i have figured out plenty of things about QtWebengine, QtWidgets, QtQuick, QtObject to make this endevour possible. Thanks a lot for your help. I appreciate it.

  • Lifetime Qt Champion

    You're welcome !

    If that answers your question then please mark the thread as solved using the "Topic Tool" button so other forum users may know a solution has been found :)

Log in to reply