Important: Please read the Qt Code of Conduct -

I filed a bug report on QMdiArea & QListView (QTBUG-17234) could use some feedback.

  • bq.
    When you subclass QListView and set QMdiArea::setViewPort to use the new Subclassed QLisView
    if you set aether QListView::setFrameShape or QListView::setViewMode the QMdiArea::viewport
    never fits to the QMdiArea. I also tried the samething without Subclassing QListView and everything then works fine.

    What I am trying to do is use the QMdiArea widget as a temporary window manager, Using a combination of QMdiArea, QMdiSubWindow, QListView & QX11EmbedContainer

    The idea is to use QMdiArea as the Window Manager then set it's viewport to a QX11EmbedContainer. You would then create a Desktop using QLisView and have the Desktop
    embed it's self into QMdiAreas->QX11EmbedContainer, So now we have a Window Manager and a Desktop. Finally you would subclass QMdiSubWindow and set its primary widget to a QX11EmbedContainer, Now when you create a program like a File-Manager you would use QX11EmbedWidget as the primary widget. Clicking on a desktop icon that is generated via QFileSystemModel the desktop knows to create a new QMdiSubWindow and execute a command tied to that particular icon. The end result is that the File-Manager is embedded into the QMdiSubWindow.

    Might look something like this.

    Here is some example code demonstrating the bug.

    I do realize the problem's that this method presents (Will probably only work with Qt and or Custom Programs), The point is a Desktop environment that is nothing but Qt. An all or nothing approach.

    So now to my question:

    • Is this bug genuine or is my code the problem?
    • Do you like the idea presented?
    • Do you have any suggestions/opinions/ideas of your own?

Log in to reply