QT ComboBox нарисован не в том месте - PullRequest
0 голосов
/ 27 ноября 2018

QT 5.6.2 в Ubuntu 18.04 У меня очень просто ComboBox

import QtQuick.Controls 1.4
    Row{//box
        Item{width: 0.02 * root.width;  height: 1}//space
        spacing: 0.02 * root.width

        ComboBox{//Recording type
            id: typeCombo
            anchors.bottom: parent

            currentIndex: 2
            model: ["TOWING", "PRE_FLIGHT_CHECKS", "FLIGHT"]
            width: 0.4 * root.width;  height: 0.15 * root.height
        }

        Rectangle{
            id: rectangle

            width: 0.5 * root.width;  height: 0.15 * root.height
            border{color: 'gray'; width: 0.1 * rectangle.height}
            radius: 0.18 * rectangle.height
            clip: true

            onEnabledChanged:  if(!enabled)  textInput.text = ''
            opacity: enabled? 1: 0.3
            visible: ddsObject.isRecorderStation

            TextInput{
                id: textInput
                anchors.centerIn: parent
                font.pixelSize: 0.6 * rectangle.height
                maximumLength: 100
            }

            MouseArea{
                anchors.fill: parent
                onPressed:  parent.border.color = 'magenta'
                onReleased: parent.border.color = 'gray'
                onCanceled:{parent.border.color = 'gray';  execute()}
                onClicked:  execute()
                function execute(){textInput.forceActiveFocus(Qt.OtherFocusReason)}
            }
        }
    }

Однако при нажатии он рисуется в правом нижнем углу окна приложения.Также есть это сообщение из фреймворка:

QmlViewGadgetWidget(0x563561aa31e0) must be a top level window

Есть идеи как это исправить?Я ожидаю, что выпадающее меню будет нарисовано прямо под элементом ComboBox.


Может быть связано с этим вопросом .Однако в ответе говорилось, что проблема была решена давно.

1 Ответ

0 голосов
/ 27 ноября 2018

Вам необходимо привязать ComboBox к корневому компоненту.Вы можете добиться этого, установив свойство anchors.centerIn: root

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...