Russian Qt Forum

Qt => Qt Quick => Тема начата: vipet от Май 06, 2015, 20:43



Название: Табы с иконками и текстом - как сделать?
Отправлено: vipet от Май 06, 2015, 20:43
привет всем,

Как ни противился этому, но начал осваивать QML.

как сделать чтоб у табвью (не важно какого - из Qt Quick Controls или еще какого-нибудь, если они, другие, существуют) табы были с иконками? Так чтобы иконка сверху, текст снизу. Либо иконка слева, текст справа. В тех контролах, что в Qt Quick Controls я не вижу нигде свойства задания иконки. Или оно типа стилем может задается..

Кароч, нужен кошерный способ это сделать. Спасибо


Название: Re: Табы с иконками и текстом - как сделать?
Отправлено: Отражение луны от Май 07, 2015, 23:04
Раз в контролах такого нет, то придется нарисовать все самому. (ну или копать исходники).
На чистом qml простейший пример без дополнительных плюшек выглядит примерно так:
Код:
Item {
id: root
property QtObject activeTab: null

// здесь идет обычный ListView (или Row с Repeater) с нарисованными табами

Item { // содержимое первой вкладки
id: tab1
//расположение
visible: (activeTab==tab1)
}
Item { // содержимое второй вкладки
id: tab2
//расположение
visible: (activeTab==tab2)
}

Соотвественно чтобы сделать вкладку видимой нужно всего лишь
Цитировать
root.activeTab = tab1;

Ну и наконец упаковать это все дело в одну модель, чтобы было удобненько:
Код:
ListModel {
id: list
ListElement { text: "Первая вкладка"; icon: "icon1.svg"; obj: tab1}
ListElement { text: "Вторая вкладка"; icon: "icon2.svg"; obj: tab2}
}
Синтаксис не проверял, где-то мог допустить опечатку.


Название: Re: Табы с иконками и текстом - как сделать?
Отправлено: vipet от Май 11, 2015, 10:25
Спасибо!

P.S. Немного стремно, что стандартные Qt Quick Controls недоразвиты маленько.


Название: Re: Табы с иконками и текстом - как сделать?
Отправлено: BuRn от Май 19, 2015, 21:46
Спасибо!

P.S. Немного стремно, что стандартные Qt Quick Controls недоразвиты маленько.
маленько это слабо сказано ;-)