問題タブ [qt-quick]

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 投票する
2 に答える
23504 参照

qt - QMLでリピーターの子のプロパティにアクセスするには?

以下のコードについて、imgx 要素のプロパティを変更する方法を教えてください。javascript を使用して imgx.x の値を変更する必要があります。それとも他に方法はありますか?qt ドキュメントを検索しますが、役に立ちません。ありがとう。

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

qt - C++内からアイテムプロパティにアクセスするためのヘルプが必要なQML初心者

QTとQMLでアプリケーションを開発して、いくつかのXMLデータにアクセスし、結果を表示しています。

XMLはC++からダウンロード/解析され、これは正常に機能します。カスタムレイアウトを表示するように設計されたQMLアプリケーションがあり、それも正常に機能します。

アプリをより洗練された外観にするために、C ++側が最初のダウンロード/解析を完了する間に表示される最初の「スプラッシュ画面」があります。メインのQMLビュー内に、現在のアプリケーションの「状態」を表すプロパティを作成して、スワップできるようにしました。データの準備ができたら、正しい画面に移動します。

Main.qml

C ++コードは、QTクリエーターアプリウィザードによって生成され、基本QmlApplicationViewerクラスに基づいています。

オンラインQTドキュメントを読んだ(そして再読した)ので、の個々のプロパティにアクセスするために必要なのは、アプリケーションビューアmainScreenのメソッドを呼び出してインスタンスへのポインタを返し、そのようにメソッドを呼び出すことだけです。 。findChild<QObject *>rootContext()QObjectmainScreensetProperty

他の場所ROOT_CONTEXTで定義されている場所

void QmlApplicationViewer::createMyApplication(void)メインのQMLファイルがセットアップされた後に呼び出されます。

しかし...

私が遭遇している問題は、から返される値findChild<QObject *>("mainScreen");が常にNULLであるということです。次のコードを使用して、QMLファイル内のオブジェクトの階層を列挙してみました

約120個のアイテムのリストが表示されますが、名前に空白の文字列( "")が付いています。

QTドキュメントを振り返ると、すべての例は、このブログエントリhttp://xizhizhu.blogspotに示されているように、クラスを使用する代わりに、手動で個々のパーツを作成し(つまり、、、のインスタンスを作成し)、それらをリンクするQDeclarativeEngineことQDeclarativeComponentを示唆しているようです。 co.uk/2010/10/hybrid-application-using-qml-and-qt-c.htmlですが、私はすでに書いたコードに固執したいと思います。QDeclarativeItemQApplicationViewer

誰かが私が間違っているところを助けて提案するか、C++からQMLファイルのアイテムのプロパティを変更できる「簡単な」例を見つけることができる方向に私を向けることができますか?

事前に多くの(多くの)感謝します。

ジョン...

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

qt - ネストされたリストビューからリストビューのqtクイックコールインデックス

qml にネストされたリストビューを含むリストビューがあります。ネストされたリストビュー デリゲートで親リストビュー インデックスのインデックスを取得するにはどうすればよいですか?

コードサンプル:

0 投票する
0 に答える
817 参照

c++ - QML テキスト要素のデータ型/レンダリングの問題、文字が消える

QVector <QVariant>Qt 5 beta2 の使用 -ロードされた db クエリを使用して、QML テキスト要素のテキスト プロパティを設定しようとしています。

これは動作します -

-- しばらくすると、特定の文字が表示されなくなります。そのため、渡されたデータを取得していますが、レンダリングが停止します。私がこれを行う場合 -

-- 正常に動作し、必要な数の文字をロードし続けることができます。を使用して QVector から const char* に変換してみました

--しかし、うまくいきません。同じこと、一見ランダムな方法で特定の文字を表示しなくなります。

QVector から QML テキストレンダラーが「文字列」のように受け入れる型に値を取得するにはどうすればよいですか? バグですか?このような問題への言及が見つからず、何日も探していました。どんな助けでも大歓迎です。

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

qt - QML - How to apply animation to all elements in a page?

Inspired a bit by Windows 8 "Modern UI" applications, I would like to apply an animation to all QML elements in a page when the page loads. This way each individual element on the page animates when it appears.

I can't seem to find anything in the QML documentation that would help. In XAML, I could accomplish this with:

Is there a QML equivalent?

I've figured out how to do this for a single element, but I would like an easy way to apply the animation to every element of some parent like in the XAML example above. Here's my single-element implementation:

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

qt - QML:デリゲートの条件は?

一度に3つのアイテムを表示するスピナーリストコントロールを設計しています。

必要な動作として正常に機能する唯一の問題は、中央の要素の外観を少し大きくする必要があることです。

今のところ私が考えることができるアプローチは、デリゲートにif条件を設定することです。これにより、現在のインデックスに基づいてフォントサイズが大きくなります。

上記のアプローチは可能ですか?特定の動作を実現するための提案

以下はコードスニペットです

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

qt - QML のパスビューの問題

Spinner コントロール (または、アイテムの Scolllable リスト) を設計しています。機能に関する限り、正常に動作します

主な問題は、アイテムをスクロールするときに円運動を感じさせたいということです。そのため、スクロール リストでその効果を得るために、先行アイテムと後続アイテムのサイズを現在のアイテムよりも比較的小さくすることにしました。

サイズ違いの商品を揃えるのにとても苦労しています。誰でも同じことを進める方法を教えてもらえますか。

以下は私のコードスニペットです

main.qml スニペット

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

qt - QML : パスビューで現在のアイテムを取得する方法

パスビューで現在のアイテムを取得する方法を知りたいです。

iscurrentItem プロパティはありますが、可能であればどのように使用できますか。現在の実装では、現在のインデックスを取得していますが、そのインデックスのアイテムの値は取得していません

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

qt - qt5のqtquick 2.0でカスタムopenglをレンダリングする

カスタム opengl 呼び出しを qtquick 2.0 アイテム内でレンダリングする方法を探しています。コンテキストを説明すると、レンダリングに opengl を使用する C++ 3d エンジンがあります。目標は、qtquick 2.0 UI 内でレンダリングすることです。

私が見つけたのは、qt 5.0 (qtquick 2.0) より前では、QtGlWidget を使用し、それを QDeclarativeView に埋め込むことでした。私が見つけた別の方法は、QtDeclarativeItem を使用して void QDeclarativeItem::paint(QPainter *p, const QStyleOptionGraphicsItem *o, QWidget *w) メソッドをオーバーライドすることです。

私が理解しているように、QtQuick 2.0 は OpenGl に基づく新しいレンダラーを使用しているため、これはもう不可能です。したがって、ペイント メソッドをオーバーライドするほど簡単ではないように思われます。

私のopengl呼び出しのレンダリングを可能にするQQuickItemを実装する方法を知っている人はいますか?