क्यूटी QML डाल दिया तत्व के ऊपर एक दराज

0

सवाल

मैं संघर्ष कर रहा हूँ के साथ एक बहुत ही बुनियादी सवाल है..

का उपयोग कर क्यूटी 5.15.2:

हम एक सरल आवेदन के साथ एक मुख्य विंडो और 2-3 उप-खिड़की (1 स्तर से नीचे मुख्य). मुख्य विंडो के होते हैं एक सामग्री आइटम, एक हैडर और कुछ मेनू-फ्लैप भर में वितरित की मुख्य विंडो. अब तक उप-पृष्ठों को खोला गया के साथ एक दराज तत्व है ।

हालांकि, दराज ओवरले फ्लैप और हैडर एक बार खोला और हम फिर से करने की जरूरत instanciate फ्लैप और हेडर के भीतर दराज के लिए है यह दिखाई दे रहा है । यह नहीं है वास्तव में अच्छा है. वहाँ किसी भी तरह से परिभाषित करने के लिए z-स्तर पर जो दराज खोला है? (जाहिरा तौर पर की स्थापना z काम नहीं करता है).


Item{
  id: id_mainWindow
  z: 0
  Drawer{
    id: id_subMenu1
    anchors.fill: parent
    z: 1
    
    /* Not so nice workaround */
    Button{
      id: id_subClose
      z: 100
      onClicked{
        id_subMenu1.close()
      }
    }
  }

  /* Unfortunately, this one gets hidden once, the drawer is open */
  Button{
    id: id_subOpenClose
    z: 100
    onClicked{
      if( id_subMenu1.open ){
        id_subMenu1.close()
      } else {
        id_subMenu1.open()
      }
    }
  }

}
qml qt qt5.15
2021-11-19 07:31:58
1

सबसे अच्छा जवाब

0

मैं सुझाव है कि एक Drawer नहीं है सही घटक के लिए इस नौकरी के रूप में यह तकनीकी रूप से एक Popup. यह हो सकता है बाहर की जाँच के लायक के साथ TabBar घटक के बजाय.

फिर भी यहाँ एक फिर से लिखना के अपने कोड इतना है कि अपने Drawer खोलता है कवर के बिना अपने id_subOpenClose बटन.

import QtQuick
import QtQuick.Controls
import QtQuick.Controls.Material

Rectangle {
    id: id_mainWindow
  
    anchors.fill: parent
  
    Drawer {
        id: id_subMenu1
    
        /*
        Set the Drawer's height and y position so that it does not cover your button
        */
        y: id_subOpenClose.height
        height: id_mainWindow.height - id_subOpenClose.height
        width: id_mainWindow.width

        // Do not dim background
        dim: false
        
        // Set this to zero if you want no shadow
        Material.elevation: 2
    
        edge: Qt.RightEdge
    
        Label {
            text: 'Hello World'
            anchors.centerIn: parent
        }
    }

    /* 
    This is your header button that was getting hidden
    Here it stays as if it were part of a global header and does not get hidden by
    the Drawer.
    */
    Button{
        id: id_subOpenClose
        text: id_subMenu1.visible? 'close': 'open'
        onClicked: id_subMenu1.visible? id_subMenu1.close(): id_subMenu1.open()
    }
}

के लिए एक इंटरैक्टिव WASM उदाहरण के ऊपर देखें यहाँ.

2021-12-01 15:56:39

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में