問題タブ [qml]
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.
c++ - C++ と QML 間の通信
このページでは、QML 内から C++ 関数を呼び出す方法を示します。
私がやりたいのは、C++関数を介してボタンの画像を変更することです(状態変更をトリガーするか、それが行われます)。
どうすればこれを達成できますか?
アップデート
ラドンによるアプローチを試みましたが、すぐに次の行を挿入すると:
コンパイラは次のように文句を言います:
関連する場合、QMLCppBinder は、いくつかの QML ページから C++ コードへの接続をカプセル化するために構築しようとするクラスです。これは、予想以上に難しいようです。
これに何らかのコンテキストを与えるためのスケルトン クラスを次に示します。
qt - QML ListView Delegates の z オーダーは常に他のすべての上にあります
カスタム ウィジェット (PayloadOdometerRecord と呼びます) をデリゲートとして持つ QML ListView があります。この PayloadOdometerRecord には、他のいくつかのカスタム ウィジェット (TextBox) が含まれており、クリックすると状態が変化し、ユーザー入力用のキーボードが表示されます。
ユーザーがこれらの TextBox ウィジェットのいずれかをクリックしてキーボードを表示するまで、ListView は正しく機能します。キーボードは、キーボードを表示している代理オブジェクトの下にあるすべての代理オブジェクトによってクリップされます。
この TextBox ウィジェットを ListView 以外で使用すると、正しく機能します...キーボードが完全に表示されます。
なぜこれが起こっているのか誰にも分かりますか?私の目標は、フルスクリーン キーボードが表示され、他のコンポーネントに覆われないようにすることです。
ありがとう!
qt - Nokia Qt アプリのフリック可能な ListView
QML を使用してフリック可能なリストを表示できることを知っています。しかし、qml と c++ アプリケーションを一緒に実行する方法がわかりません。そのため、qml なしで実装することにしました。サブクラス ListView クラス、MyListView があり、構築関数で setAttribute(Qt::WA_AcceptTouchEvents) を呼び出します。MyListView::event(QEvent *event) では、リストビューのスクロール バーをタップすると touchevent がトリガーされますが、リストビュー アイテムをタップしてもトリガーされません。どうすればいいですか?
qt - スライダー付きqml textedit
スライダーを使用してラップできる textEdit を作成する方法を知っている人はいますか? 私はそれをやろうとしましたが、バインディングループに問題がありました...
コード:
このようにして、textEditBox の右側に textEdit と slier を作成します。スライダーはテキストに従って移動するようになりましたが、スライダーは textEdit ボックスを制御しません...どうすればこのアクションを追加できますか? (私のやり方では、バインディングループをもたらします)
qt - ビデオを再生する QWidget の上に QML を含む QDeclarativeView の透過性 (フォノンまたは libvlc を使用)
私は現在、ビデオプレーヤーを開発しています。
最上位層の GUI は QML で記述されています。下位レイヤーに対して透過的である必要があります。コントロール要素、いくつかのリストなどが含まれており、 を使用して表示されますQDeclarativeView
。
説明
下のレイヤーは QWidget です。libvlc を使用して、このウィジェットにビデオ コンテンツを表示します。
理由: フォノンでデコードできない MPEG-TS を受信しています。*.ts
したがって、着信ストリームをデコードして出力をディスプレイに表示するには、libvlc が必要です。
QDeclarativeView
と の両方の要素がにQWidget
埋め込まれてい
ます。QMainWindow
upperLayer
upperLayer
lowerLayer
問題:
lowerLayer が画像や色付きの図形などの静的要素を表示している限り、すべてが正常に機能し、完全な透過性と機能性を備えています。
*.ts
libvlc を使用して説明したビデオや、 を使用したランダムなビデオなどのビデオの表示を開始するとすぐにPhonon::VideoPlayer
、upperLayer
のビデオ部分の上にある の部分がlowerLayer
の色で表示され、配置されているlowerLayer(default: gray)
の部分upperLayer
が上記のlowerLayer
ビデオ要素を含まない、またはその他の部分は、正しい動作で表示されます。
質問:
ビデオが再生されている場合でも、upperLayer を透明にする可能性はありますか?
qt - qmlの非同期(種類)アニメーション
次のQMLコンポーネントがあるとしましょう。
Foo.qml
Bar.qml
myModelをC++から保守していますが、次のQ_PROPERTY宣言があります。
さて、私の問題は、基になる要素に新しい要素を追加するたびに、QList
指定されたアニメーションがBar
リセットされるため、実際には、要素は常に完全にオーバーラップすることです。私が欲しいのは、要素のアニメーションが同期しておらず、残りの部分に関係なく、それぞれがシームレスに続行できることです。これは可能ですか?
乾杯
qt - QMLアイテムをコンテンツに合わせて成長させる方法は?
ServerItem をコンテンツに合わせて成長させる方法は? 現在、ServerItems は互いに重なり合っています。
main.qml
ServerItem.qml
c++ - QDeclarativeImageProvider がコンテナーにイメージをロードしない
正常に動作しますが、列または別のコンテナーでは動作しません
一方
わかった。なんで?
宣言:
実装:
登録:
PS私の英語でごめんなさい。
〜解決済み〜
できます!どうもありがとうございました!
javascript - Javascript で埋められた QML ListView
(いくつかの QML バグレポートによると) ListView の JSON デリゲートが欠落していることに気付きました。Javascript または C++ で作成されたモデルで埋めます。
特に、定義済みの URL から .json データをダウンロードし、ListView に解析する必要があります。
Javascriptでオブジェクト配列を作成し、連想配列をモデルとしてListViewにプッシュしようとしましたが、失敗しました。どのようにコードを変更しても。
では、C++ ソリューションしかありませんか、それとも Javascript で ListView モデルを作成できますか?
ありがとう
私が試したコード:
問題は常に次のとおりでした。ReferenceError: Can't find variable: name
qt - 「速度」と無限の「ループ」の両方を備えた QML アニメーション
(持続時間ではなく) 速度を指定し、永久にループするアニメーションをまとめようとしています。うまくいかない例を 2 つ思いつきました。
FirstTry.qml
画面が狂っている間に、次の実行時警告hello
が表示されます(十分です)。
SecondTry.qml
これはもっとミステリーです -SmoothedAnimation
単純にループを拒否します! アニメーションは 1 回実行され、それで終わりです。
だから私は次の質問があります:
最初の例で速度を指定する合法的な方法はありますか? SmoothedAnimation
が から派生していることを理解NumberAnimation
しているので、C++ だけでなく QML でも可能かもしれません。
SmoothedAnimation
ループを作る方法はありますか?2 番目の例はバグで動作していませんか、それとも何か不足していますか?
これら 2 つの動作を同時に達成する他の方法はありますか?