How make a pane visible on top in qt quick application?












0















I want to show a Message bar for showing my messages to users,be visible on top of all other windows and pages?



MessageBar.qml



Pane {
id: bar
z: 9999999999999999

property alias message:me
Message{
id: me
onContentChanged: {
}
}
Material.background: message.backColor
height: 48

Label{
color: "white"
text: message.content
anchors.fill: parent
horizontalAlignment: Label.AlignHCenter
}
property bool visibleState: message.visible&&message.messageType== Message.SimpleMessage
scale: visibleState?1.0:0.0
Behavior on scale {
NumberAnimation {
duration: 100
}
}


}



main.qml



ApplicationWindow { 
MessageBar{
id: messageBar
anchors.centerIn: parent
Layout.fillWidth: true
}
}


but it will be visible under other pages how solve this problem?










share|improve this question


















  • 1





    What do you mean saying "on top of all other windows and pages"? What pages? If you ask about OS windows you have to create Window with flag Qt::WindowStaysOnTopHint.If that windows inside the same application you have to take into account that z works only for siblings items.

    – folibis
    Nov 21 '18 at 20:16


















0















I want to show a Message bar for showing my messages to users,be visible on top of all other windows and pages?



MessageBar.qml



Pane {
id: bar
z: 9999999999999999

property alias message:me
Message{
id: me
onContentChanged: {
}
}
Material.background: message.backColor
height: 48

Label{
color: "white"
text: message.content
anchors.fill: parent
horizontalAlignment: Label.AlignHCenter
}
property bool visibleState: message.visible&&message.messageType== Message.SimpleMessage
scale: visibleState?1.0:0.0
Behavior on scale {
NumberAnimation {
duration: 100
}
}


}



main.qml



ApplicationWindow { 
MessageBar{
id: messageBar
anchors.centerIn: parent
Layout.fillWidth: true
}
}


but it will be visible under other pages how solve this problem?










share|improve this question


















  • 1





    What do you mean saying "on top of all other windows and pages"? What pages? If you ask about OS windows you have to create Window with flag Qt::WindowStaysOnTopHint.If that windows inside the same application you have to take into account that z works only for siblings items.

    – folibis
    Nov 21 '18 at 20:16
















0












0








0








I want to show a Message bar for showing my messages to users,be visible on top of all other windows and pages?



MessageBar.qml



Pane {
id: bar
z: 9999999999999999

property alias message:me
Message{
id: me
onContentChanged: {
}
}
Material.background: message.backColor
height: 48

Label{
color: "white"
text: message.content
anchors.fill: parent
horizontalAlignment: Label.AlignHCenter
}
property bool visibleState: message.visible&&message.messageType== Message.SimpleMessage
scale: visibleState?1.0:0.0
Behavior on scale {
NumberAnimation {
duration: 100
}
}


}



main.qml



ApplicationWindow { 
MessageBar{
id: messageBar
anchors.centerIn: parent
Layout.fillWidth: true
}
}


but it will be visible under other pages how solve this problem?










share|improve this question














I want to show a Message bar for showing my messages to users,be visible on top of all other windows and pages?



MessageBar.qml



Pane {
id: bar
z: 9999999999999999

property alias message:me
Message{
id: me
onContentChanged: {
}
}
Material.background: message.backColor
height: 48

Label{
color: "white"
text: message.content
anchors.fill: parent
horizontalAlignment: Label.AlignHCenter
}
property bool visibleState: message.visible&&message.messageType== Message.SimpleMessage
scale: visibleState?1.0:0.0
Behavior on scale {
NumberAnimation {
duration: 100
}
}


}



main.qml



ApplicationWindow { 
MessageBar{
id: messageBar
anchors.centerIn: parent
Layout.fillWidth: true
}
}


but it will be visible under other pages how solve this problem?







qt qml qtquick2 qt-quick






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 21 '18 at 18:04









mohsenmohsen

1,0501825




1,0501825








  • 1





    What do you mean saying "on top of all other windows and pages"? What pages? If you ask about OS windows you have to create Window with flag Qt::WindowStaysOnTopHint.If that windows inside the same application you have to take into account that z works only for siblings items.

    – folibis
    Nov 21 '18 at 20:16
















  • 1





    What do you mean saying "on top of all other windows and pages"? What pages? If you ask about OS windows you have to create Window with flag Qt::WindowStaysOnTopHint.If that windows inside the same application you have to take into account that z works only for siblings items.

    – folibis
    Nov 21 '18 at 20:16










1




1





What do you mean saying "on top of all other windows and pages"? What pages? If you ask about OS windows you have to create Window with flag Qt::WindowStaysOnTopHint.If that windows inside the same application you have to take into account that z works only for siblings items.

– folibis
Nov 21 '18 at 20:16







What do you mean saying "on top of all other windows and pages"? What pages? If you ask about OS windows you have to create Window with flag Qt::WindowStaysOnTopHint.If that windows inside the same application you have to take into account that z works only for siblings items.

– folibis
Nov 21 '18 at 20:16














1 Answer
1






active

oldest

votes


















1














The easiest way would be to use a Popup. These are shown above all other items in the scene by default. In addition, you can set a popup's z value to ensure that it's above all other popups.



If you don't want to use a popup for some reason, you can parent the item to the overlay:



import QtQuick 2.10
import QtQuick.Controls 2.3
import QtQuick.Controls.Material 2.3

ApplicationWindow {
width: 640
height: 480
visible: true

Button {
text: "Button"
}

Pane {
width: 200
height: 200
parent: Overlay.overlay
Material.background: Material.Grey

Label {
text: "Above"
anchors.centerIn: parent
}
}
}





share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418092%2fhow-make-a-pane-visible-on-top-in-qt-quick-application%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    1














    The easiest way would be to use a Popup. These are shown above all other items in the scene by default. In addition, you can set a popup's z value to ensure that it's above all other popups.



    If you don't want to use a popup for some reason, you can parent the item to the overlay:



    import QtQuick 2.10
    import QtQuick.Controls 2.3
    import QtQuick.Controls.Material 2.3

    ApplicationWindow {
    width: 640
    height: 480
    visible: true

    Button {
    text: "Button"
    }

    Pane {
    width: 200
    height: 200
    parent: Overlay.overlay
    Material.background: Material.Grey

    Label {
    text: "Above"
    anchors.centerIn: parent
    }
    }
    }





    share|improve this answer




























      1














      The easiest way would be to use a Popup. These are shown above all other items in the scene by default. In addition, you can set a popup's z value to ensure that it's above all other popups.



      If you don't want to use a popup for some reason, you can parent the item to the overlay:



      import QtQuick 2.10
      import QtQuick.Controls 2.3
      import QtQuick.Controls.Material 2.3

      ApplicationWindow {
      width: 640
      height: 480
      visible: true

      Button {
      text: "Button"
      }

      Pane {
      width: 200
      height: 200
      parent: Overlay.overlay
      Material.background: Material.Grey

      Label {
      text: "Above"
      anchors.centerIn: parent
      }
      }
      }





      share|improve this answer


























        1












        1








        1







        The easiest way would be to use a Popup. These are shown above all other items in the scene by default. In addition, you can set a popup's z value to ensure that it's above all other popups.



        If you don't want to use a popup for some reason, you can parent the item to the overlay:



        import QtQuick 2.10
        import QtQuick.Controls 2.3
        import QtQuick.Controls.Material 2.3

        ApplicationWindow {
        width: 640
        height: 480
        visible: true

        Button {
        text: "Button"
        }

        Pane {
        width: 200
        height: 200
        parent: Overlay.overlay
        Material.background: Material.Grey

        Label {
        text: "Above"
        anchors.centerIn: parent
        }
        }
        }





        share|improve this answer













        The easiest way would be to use a Popup. These are shown above all other items in the scene by default. In addition, you can set a popup's z value to ensure that it's above all other popups.



        If you don't want to use a popup for some reason, you can parent the item to the overlay:



        import QtQuick 2.10
        import QtQuick.Controls 2.3
        import QtQuick.Controls.Material 2.3

        ApplicationWindow {
        width: 640
        height: 480
        visible: true

        Button {
        text: "Button"
        }

        Pane {
        width: 200
        height: 200
        parent: Overlay.overlay
        Material.background: Material.Grey

        Label {
        text: "Above"
        anchors.centerIn: parent
        }
        }
        }






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 21 '18 at 21:27









        MitchMitch

        16.8k54992




        16.8k54992
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53418092%2fhow-make-a-pane-visible-on-top-in-qt-quick-application%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

            ComboBox Display Member on multiple fields

            Is it possible to collect Nectar points via Trainline?