問題タブ [qstatemachine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
373 参照

c++ - QStateMachine 遅延関数についての説明

私は自分のプログラムでこの関数を使用しました:

例からコピーして貼り付けましたが、コードのこの部分がわかりませんでした:

誰でもこのコードが何であるかを説明できますか? プログラムでどのように機能しますか?

PS。私はこれでそのコードを変更しようとしましたが、うまくいきませんでした:

0 投票する
1 に答える
622 参照

c++ - 状態遷移を引き起こす QStateMachine get イベント

QStateMachine を作成しました。状態の遷移を引き起こしたイベントを取得する必要があります。EnterStateInit()この呼び出しの原因となった信号をスロット内に入れる機会はありませんか。ここに私のサンプルコード:

0 投票する
1 に答える
320 参照

qml - StateMachine と State 内の QML スコープ

QMLスコープに関するドキュメントを読みました。

このドキュメントでは、次のことが許可されています (コンポーネント インスタンス階層の下で、上記のドキュメントの 2 番目の例):

マイ ステートマシン ( BaseStateMachine.qml):

私の州 ( BaseState.qml):

私のメイン ( main.qml):

しかし、次のエラーが表示されます。 qrc:/qml/BaseState.qml:4: ReferenceError: someProperty is not defined

私は何か誤解していますか?また、qml の StateMachine に関するドキュメントも読みましたが、StateMachine と State 内でのスコープの例外は見つかりませんでした。

アップデート:

このようにIDを追加するとBaseStateMachine.qml

somePropertyその後、QtCreator はinを認識するようになりBaseState.qmlます。「認識される」の下で、つまり、その中のプロパティを ctrl/command+click すると、 がBaseState.qml表示されBaseStateMachine.qmlます。QtCreatorから ID を削除するとすぐにBaseStateMachine.qml、もう見つかりsomePropertyません。

0 投票する
2 に答える
297 参照

c++ - QStatemachine を使用して ListView に影響を与える方法は?

QStatemachine を使用して UI を管理するこの Projekt を取得しました。ここで、カスタマイズされたリストを追加します。UI は、キー イベントによってのみ操作されることになっています。私が理解している限り、qml 側に ListView が必要です。

ListView のデリゲートは、マウス入力または直接キー入力にのみ反応します。しかし、UI のすべての重要なイベントを処理しているため、C++ で QStatemachine を使用して操作しました。右矢印キーを押したときにやりたいことは、リストを左にシフトすることです。
(currentItem は常に画面の中央にあります。)

これは lisfview の初期状態です

ここに画像の説明を入力

したがって、私の ListView は現時点では次のようになっています。

c++ Statemachine は、シグナルを qml に送信する QStatemachine です。

Listview のデリゲートにシグナルをバインドするにはどうすればよいですか?

0 投票する
1 に答える
264 参照

python - 実行時に動的な値で QState.assignProperty を使用する

QStateMachine-System のPyQt5適切な使用方法について質問があります。

使用する

がアクティブなときはいつでも -property"Some text"に設定できます。plainTextaState

質問:"Some text"実行前に が定数または既知でない場合はどうなりますか? 私の意図は、状態に入ったときに適切な値を生成する値の代わりに、関数を渡すことです ( partialor式をイベントに接続するのと同じです)。lambda

この動作をエミュレートする唯一のアイデアは、プロパティを に設定する関数を接続することaState.enteredです。ただし、プロパティが設定されている場所が混同されており、QStateMachine手動で状態を自分で設定する必要がないように使用する理由があるため、このソリューションには満足していません。