Я настраиваю Combobox.Вот мой код:
import QtQuick 2.7
import QtQuick.Controls.Styles 1.4
import QtQuick.Controls 2.2
import QtQuick.Window 2.2
ComboBox {
property int selectionButtonWidth: 35
property int selectionButtonHeight: 25
property int selectionButtonFontSize: 12
property string mainFontFamily: "Asap"
property color mainFontColor: "red"
property color inputHighlight: "#9C27B0"
property color comboboxBorderColor: "#C5C1CD"
property int comboboxBorderWidth: 1
id: playFromHour
width: selectionButtonWidth
height: selectionButtonHeight
model: 24
currentIndex: 1
font.family: mainFontFamily
font.pixelSize: selectionButtonFontSize
property bool needHighlight: false
onNeedHighlightChanged: {
if (needHighlight) {
playFromHourBack.border.color = inputHighlight
}
else {
playFromHourBack.border.color = comboboxBorderColor
}
}
background: Rectangle {
id: playFromHourBack
color: "transparent"
border.color: comboboxBorderColor
border.width: comboboxBorderWidth
}
contentItem: Text {
text: parent.displayText
font: parent.font
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
color: mainFontColor
}
indicator: Canvas {
}
delegate: ItemDelegate {
width: parent.width
height: selectionButtonHeight
contentItem: Text {
text: modelData
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
font: playFromHour.font
color: mainFontColor
}
highlighted: playFromHour.highlightedIndex === index
}
popup: Popup {
width: selectionButtonWidth
height: 6 * selectionButtonHeight
contentItem: ListView {
clip: true
model: playFromHour.popup.visible ? playFromHour.delegateModel : null
currentIndex: playFromHour.highlightedIndex
}
}
}
Но я сталкиваюсь с большой ненастраиваемой рамкой вокруг каждого числа.Смотрите прикрепленное изображение:
Мне нужно уменьшить размеры этого кадра до нуля, но я просто не знаю, как это сделать.Есть идеи, пожалуйста?
Мне нужно это исправить, чтобы я смог уменьшить ширину поля со списком.Поскольку теперь с шириной <40 пикселей, эти белая рамка / границы занимают все пространство внутри всплывающего окна. </p>
, поэтому для текста нет места.