2017-10-17 25 views
0

私のウィンドウにテキスト要素があり、数秒またはミリ秒ごとに点滅したり消えたり消えたりします。数ミリ秒ごとにQTテキストを再表示(点滅)する方法

私のコードは次のとおりです。

import QtQuick 2.6 
import QtQuick.Window 2.2 

Window { 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("Hello World") 

    Text { 
     id: my_text 
     text: "Hello" 
     font.pixelSize: 30 
    } 
} 

答えて

3

タスクを簡単Timerで解決されます。 OpacityAnimatorを使用して

import QtQuick 2.6 
import QtQuick.Window 2.2 

Window { 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("Hello World") 

    Text { 
     id: my_text 
     font.pixelSize: 30 
     text: "Hello" 
    } 

    Timer{ 
     id: timer 
     interval: 1000 
     running: true 
     repeat: true 
     onTriggered: my_text.opacity = my_text.opacity === 0 ? 1 : 0 
    } 
} 
+0

なぜあなたはopacity'代わりvisible' 'の'使用していますか? IMHO 'visible =!visible'は読みやすくなります。不透明度を使用するとパフォーマンス上の利点はありますか? – derM

0

別の解決策:

import QtQuick 2.6 
import QtQuick.Window 2.2 

Window { 
    visible: true 
    width: 640 
    height: 480 
    title: qsTr("Hello World") 

    Text { 
     anchors.centerIn: parent 
     id: my_text 
     text: "Hello" 
     font.pixelSize: 30 

     OpacityAnimator { 
      target: my_text; 
      from: 0; 
      to: 1; 
      duration: 400; 
      loops: Animation.Infinite; 
      running: true; 
      easing { 
       type: Easing.InOutExpo; 
      } 
     } 
    } 
} 
関連する問題