2016-07-26 79 views
3

QMLでポップアップメニューの位置を修正したいと思います。設定ボタンをクリックすると、ポップアップメニューが固定位置に表示されます。私は1日でそれをしましたが、できません。 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はOKです。あなたは私の日を救う! – KidNg

+0

ポップアップメニューで問題が発生しました。私がポップアップメニューを表示するたびに、メモリが増え(コンピュータの〜15 Mb)、メニューを閉じると減少しません。何度もメニューが表示された後にアプリケーションがクラッシュする。 – KidNg

+0

'popup()'を使ってみてください。それはあまりにもメモリを増やすのですか? – folibis

関連する問題