2016-07-26 1 views
3

QML에서 팝업 메뉴의 위치를 ​​수정하고 싶습니다. 설정 버튼을 클릭하면 팝업 메뉴가 고정 된 위치에 표시됩니다. 나는 하루 만에 할 수 있었지만 할 수는 없었다. QML로 어떻게 할 수 있습니까? 또한 메뉴 항목의 크기 (너비 및 높이)를 변경하려고합니다.QML에서 팝업 메뉴 위치 설정 방법

도움을 받으십시오.

답변

2

이는 QtQuick.Controls 버전에 따라 다릅니다.

2.0에서 당신은 크기와 위치를 정의 할 수 있습니다 - 1.4에서

import QtQuick 2.7 
import QtQuick.Controls 2.0 
//import QtQuick.Controls 1.4 
import QtQuick.Window 2.0 

Window 
{ 
    id: window 
    width: 500 
    height: 500 
    visible: true 

    MouseArea { 
     anchors.fill: parent 
     onClicked: { 
      menu.x = (window.width - menu.width)/2 
      menu.y = (window.height - menu.height)/2 
      //menu.__popup(Qt.rect(200,200,100,100),0,0); 
      menu.open(); 
     } 
    } 

    Menu { 
     id: menu 
     MenuItem { text: "item1" } 
     MenuItem { text: "item2"; } 
     MenuItem { text: "item3"; height: 100 } 
    } 
} 

(주석 처리 된 줄을 참조) Menu.__popup() 시도 할 수 있지만,이 기능은 개인과 행동이 예측할 수없는 (그리고 더 많은 당신을 수행해야합니다).

+0

버전 1.4를 사용합니다. MenuItem의 너비와 높이를 보통으로 설정할 수 없습니다. 하지만 함수 __popup은 정상입니다. 너는 내 날을 구한다! – KidNg

+0

팝업 메뉴에 문제가 있습니다. 팝업 메뉴가 표시 될 때마다 메모리가 증가하고 (컴퓨터에서 ~ 15 Mb) 메뉴가 닫히면 줄어들지 않습니다. 여러 번 메뉴가 표시되면 응용 프로그램이 중단됩니다. – KidNg

+0

'popup()'을 사용해보십시오. 그것도 기억을 증가시키는 것입니까? – folibis