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
.
Может быть связано с этим вопросом. Однако в ответе говорилось, что проблема давно решена.
import QtQuick.Controls 1.4
Я бы не сказал, что они полностью не поддерживаются. Но теперь есть Qt 5.11 и QtQuick Controls 2.x. Даже если код изначально не ваш, может быть, подумать о том, чтобы увеличить его до этого? - person TrebledJ   schedule 29.11.2018