Я хотел бы настроить стиль моего приложения, и я застрял в стиле всплывающего меню TextField
.QML Изменение стиля меню TextField
TextField.style
позволяет настроить внешний вид TextField
, но он не содержит стиля меню. По documentation есть свойство menu
, содержащий Menu
, так что я пытался что-то вроде этого:
TextField {
menu.style: MenuStyle {
//...
}
}
Код выше жалуется, что свойство style
не существует, так что это не совсем Menu
, это Component
используется для создания меню и я не знаю, есть ли способ пройти через него до фактического Menu
. В документации только упоминается, что TextField.menu
может быть установлен на null
, чтобы полностью отключить его и не предусматривает других вариантов использования.
Итак, есть ли способ добраться до меню TextField
и изменить его стиль?
Есть ли способ изменить стиль меню без переопределения меню? Насколько я понимаю, мне нужно будет предоставить свои собственные действия для «Вырезать», «Копировать» и т. Д. В этом решении. –
Я не думаю, что это возможно. 'TextField.menu' -' Компонент', и он просто не имеет свойства 'style'. – folibis
Спасибо @folibis, так какие у него свойства? 'TextField.menu.url' указал мне на файл' Qt5.5.0/5.5/gcc_64/qml/QtQuick/Controls/Private/EditMenu_base.qml', который реализует меню по умолчанию. Я скопировал его в свой проект и немного изменил его, чтобы принять пользовательский стиль меню и связал его с моим TextField. Это грязно, но это работает. –