Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Simple QML Progress Bar/bg: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''Български''' [[Simple_QML_Progress_Bar|English]] | '''Български''' [[Simple_QML_Progress_Bar|English]] | ||
[[Category:Snippets]] | [[Category:Snippets]] | ||
[[Category:HowTo]] | |||
[[Category:Developing_with_Qt::Qt Quick]] | |||
[[Category:Developing_with_Qt::Qt Quick::QML]] | |||
= Прост прогрес бар = | = Прост прогрес бар = | ||
Този много прост QML прогрес бар бе вдъхновен от примера, който идва с Qt. Направен е така, че да е много опростен и лек и да е подходящ дори за много малки размери. Ето така изглежда по подразбиране (със зеленият цвят на Qt ;-) ) | Този много прост QML прогрес бар бе вдъхновен от примера, който идва с Qt. Направен е така, че да е много опростен и лек и да е подходящ дори за много малки размери. Ето така изглежда по подразбиране (със зеленият цвят на Qt ;-) ) | ||
[[Image:http://gallery.theharmers.co.uk/upload/2011/04/30/20110430152206-b395a64a.png|Simple progress bar]] | |||
anchors { | Този прогрес бар се използва заедно с "BusyIndicator":http://developer.qt.nokia.com/wiki/Busy_Indicator_for_QML в QML компонента '''ProgressSpinner''', за да се получи приятен елемент, който може да показва активността и прогреса на дълги операции. | ||
Реализация (SimpleProgressBar.qml): | |||
<code> | |||
import QtQuick 1.0 | |||
Item { | |||
id: progressbar | |||
property int minimum: 0 | |||
property int maximum: 100 | |||
property int value: 0 | |||
property color color: "#77B753" | |||
width: 250; height: 23 | |||
clip: true | |||
Rectangle { | |||
id: border | |||
anchors.fill: parent | |||
anchors.bottomMargin: 1 | |||
anchors.rightMargin: 1 | |||
color: "transparent" | |||
border.width: 1 | |||
border.color: parent.color | |||
} | |||
Rectangle { | |||
id: highlight | |||
property int widthDest: ( ( progressbar.width * ( value- minimum ) ) / ( maximum - minimum ) - 4 ) | |||
width: highlight.widthDest | |||
Behavior on width { | |||
SmoothedAnimation { | |||
velocity: 1200 | |||
} | |||
} | |||
anchors { | |||
left: parent.left | |||
top: parent.top | |||
bottom: parent.bottom | |||
margins: 2 | |||
} | |||
color: parent.color | |||
} | |||
} | |||
</code> | |||
Употреба: | Употреба: | ||
<code> | <code> | ||
import QtQuick 1.0 | |||
Rectangle { | Rectangle { | ||
id: root | |||
width: 640 | |||
height: 360 | |||
SimpleProgressBar { | SimpleProgressBar { | ||
id: progress | |||
anchors.centerIn: progressSpinner | |||
width: 100 | |||
height: 12 | |||
color: progressSpinner.color | |||
value: 35 | |||
} | |||
} |
Revision as of 12:15, 25 February 2015
Български English
Прост прогрес бар
Този много прост QML прогрес бар бе вдъхновен от примера, който идва с Qt. Направен е така, че да е много опростен и лек и да е подходящ дори за много малки размери. Ето така изглежда по подразбиране (със зеленият цвят на Qt ;-) )
Този прогрес бар се използва заедно с "BusyIndicator":http://developer.qt.nokia.com/wiki/Busy_Indicator_for_QML в QML компонента ProgressSpinner, за да се получи приятен елемент, който може да показва активността и прогреса на дълги операции.
Реализация (SimpleProgressBar.qml):
import QtQuick 1.0
Item {
id: progressbar
property int minimum: 0
property int maximum: 100
property int value: 0
property color color: "#77B753"
width: 250; height: 23
clip: true
Rectangle {
id: border
anchors.fill: parent
anchors.bottomMargin: 1
anchors.rightMargin: 1
color: "transparent"
border.width: 1
border.color: parent.color
}
Rectangle {
id: highlight
property int widthDest: ( ( progressbar.width * ( value- minimum ) ) / ( maximum - minimum ) - 4 )
width: highlight.widthDest
Behavior on width {
SmoothedAnimation {
velocity: 1200
}
}
anchors {
left: parent.left
top: parent.top
bottom: parent.bottom
margins: 2
}
color: parent.color
}
}
Употреба:
import QtQuick 1.0
Rectangle {
id: root
width: 640
height: 360
SimpleProgressBar {
id: progress
anchors.centerIn: progressSpinner
width: 100
height: 12
color: progressSpinner.color
value: 35
}
}