TimeoutTransition 샘플
TimeoutTransition 샘플
테스트용 QML
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQml.StateMachine 1.0 as DSM
import QtMultimedia 5.9
ApplicationWindow {
id: root
visible: true
width: 640
height: 480
title: qsTr("TimeoutTransitionサンプル")
Audio { id: clickSound; source: "Sounds/btn01.mp3" }
Audio { id: finishSound; source: "Sounds/btn02.mp3" }
Row {
spacing: 2
Rectangle { id: colorBox; width: root.width / 2; height: root.height }
// ボタンのクリックで stateMachine の動作を開始する
Button {
id: button
width: root.width / 2
height: root.height
text: "Finish state"
enabled: !stateMachine.running
onClicked: { stateMachine.running = true; clickSound.play() }
// StateMachine 定義
DSM.StateMachine {
id: stateMachine
initialState: state
running: false
// 初期状態
DSM.State {
id: state
// TimeoutTransition 定義
DSM.TimeoutTransition {
targetState: finalState
timeout: 5000 // 5秒後に状態変更
}
}
// FinalState 定義
DSM.FinalState {
id: finalState
}
// Rectangle の色を変えて音を鳴らす
onFinished: { colorBox.color = "red"; finishSound.play() }
}
}
}
}
실행 결과
※Linux Mint 18.2 & Qt 5.9.1 사용
Reference
이 문제에 관하여(TimeoutTransition 샘플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Taro3/items/7eb64e1b3a2b1a314d5b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQml.StateMachine 1.0 as DSM
import QtMultimedia 5.9
ApplicationWindow {
id: root
visible: true
width: 640
height: 480
title: qsTr("TimeoutTransitionサンプル")
Audio { id: clickSound; source: "Sounds/btn01.mp3" }
Audio { id: finishSound; source: "Sounds/btn02.mp3" }
Row {
spacing: 2
Rectangle { id: colorBox; width: root.width / 2; height: root.height }
// ボタンのクリックで stateMachine の動作を開始する
Button {
id: button
width: root.width / 2
height: root.height
text: "Finish state"
enabled: !stateMachine.running
onClicked: { stateMachine.running = true; clickSound.play() }
// StateMachine 定義
DSM.StateMachine {
id: stateMachine
initialState: state
running: false
// 初期状態
DSM.State {
id: state
// TimeoutTransition 定義
DSM.TimeoutTransition {
targetState: finalState
timeout: 5000 // 5秒後に状態変更
}
}
// FinalState 定義
DSM.FinalState {
id: finalState
}
// Rectangle の色を変えて音を鳴らす
onFinished: { colorBox.color = "red"; finishSound.play() }
}
}
}
}
Reference
이 문제에 관하여(TimeoutTransition 샘플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Taro3/items/7eb64e1b3a2b1a314d5b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)