15

QMessageBox::information()Qt Quick Controls を使用して QML アプリケーションを作成したい場合に相当するものは何ですか?

4

5 に答える 5

2

わかりました、これは仕事をします(ひどく)。Windowオブジェクトをインポートします。

import QtQuick.Window 2.1

次に、これをメインウィンドウに追加します(または、私が推測する別のファイルに入れることもできます):

function showMessage(text, title)
{
    messageBox.text = text;
    messageBox.title = title;
    messageBox.visible = true;
}

Window {
    id: messageBox
    modality: Qt.ApplicationModal
    title: ""
    visible: false
    property alias text: messageBoxLabel.text
    color: parent.color
    minimumHeight: 100
    minimumWidth: 300
    Label {
        anchors.margins: 10
        anchors.top: parent.top
        anchors.left: parent.left
        anchors.right: parent.right
        anchors.bottom: messageBoxButton.top
        horizontalAlignment: Text.AlignHCenter
        wrapMode: Text.WordWrap
        id: messageBoxLabel
        text: ""
    }

    Button {
        anchors.margins: 10
        id: messageBoxButton
        anchors.bottom: parent.bottom
        anchors.horizontalCenter: parent.horizontalCenter
        text: "Ok"
        onClicked: messageBox.visible = false
    }
}

それに関する問題:

  1. テキストとボタンが重なるようにウィンドウを縮小できます。
  2. 最小ウィンドウ サイズは、テキスト サイズから計算されるのではなく、ハードコーディングされています。
  3. テキストを選択することはできません。
  4. 少しくそに見えます。
于 2013-09-16T09:52:15.333 に答える
1

残念ながら、少なくとも Qt 5.1.1 の時点で出荷されている Qt クイック コントロールにはありません :(

QObjectラッパーを介してプロジェクトに追加する必要があります。

于 2013-09-13T15:39:43.003 に答える