問題タブ [qtquick2]
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.
qt - Qt Quick 2 の QSplashScreen
新しい Qt Quick 2 プロジェクトで QSplashScreen を使用すると問題が発生します。プロジェクト「main.cpp」は次のとおりです。
このコードはコンパイルされます。実行すると、アプリケーションの出力に次のメッセージが表示されます: QWidget: Cannot create a QWidget without QApplication
. どうやら QGuiApplication は QApplication を継承していないので、困惑しています。
編集: QGuiApplication を QApplication に変更するとうまくいくように見えましたが、Qt Quick 2 に必要なものが QApplication に欠けているのではないかと心配しています。
qt - qml でタブを動的に追加する
Tab
QML で sを動的に作成しようとしています。以下のコードは、私がやりたいことの簡単な例です。
Tab
最初の作品の追加は期待どおりです。ただし、その後、他のTab
追加されたエラーがトリガーされます。
TypeError: null` のプロパティ 'color' を設定できません。
色を変更するためにTab
withにアクセスしようとしましたが、同じエラーが発生します。getTab()
誰かが私が間違っていることを説明できますか?
c++ - Qt Quick 2 に QWidget オブジェクトを埋め込む
8 か月前に、qwidget ベースのオブジェクトを QML ( http://doc.qt.digia.com/4.7/declarative-cppextensions-qwidgets.html Qt5 ) に埋め込む方法についての質問がありました。QWidget オブジェクトを QML に埋め込みます。状況は変わりましたか?または、いくつかの複雑なアプリケーションの場合、独自に再実装された paintEvent を使用すると、従来の Qt しか使用できませんか?
qt - QML Video アルファ ブレンディング/ビデオを Qt クイック シーン グラフにレンダリングする
RGBA のビデオで QML のアルファブレンディング効果を得ようとしています。
ここでの問題は、QtMultimedia によって提供される Video Item が実際に QtQuick シーンでオーバーレイ ウィンドウを開くことです。そのため、他の QML 要素を Video 要素とアルファ ブレンドすることはできないと思います (間違っていることを願っていますが、解決策が見つかりません)。
したがって、もう 1 つの方法は、updatePaintNode メソッドで、QQuickItem から継承するクラスで自分自身でビデオをレンダリングすることです。
誰もこのようなものを見たことがありますか?QtMultimedia の背後にいる人たちがそれを達成できなかったとしても、それは可能ですか?
MediaPlayer 要素の背景を変更したり、透明にしたり、QML の色にしたりすることはできますか?
これまでのところ、QAbstractVideoSurface と QVideoFrame について考えていましたが、それを QSG にレンダリングする方法や、GeometryNode がビデオを探す方法さえわかりません。
最善の解決策は、たとえば次のように、他の QML 要素とのアルファ ブレンディングを取得することです。
前もって感謝します!
qt - Qt5 および Qt Quick 2 でのカスタム リアルタイム描画
可能であれば、QML画面の特定の領域をOpenGLコンテキストで埋め、そのコンテキストでのみカスタムOpenGLを実行する方法を見つけるために、私は広範囲に調べてきました。ボタンなどの QML コンポーネントが画面全体の OpenGL コンテキストの上または下に配置されているデモをたくさん見てきましたが (通常、ゲームで必要になります)、いくつかの異なる OpenGL コンテキストを内部に配置できるようにしたいと考えています。 QML を作成し、QML ファイルでサイズや配置場所などを定義します。
さて、Qt 5 は内部的にすべて OpenGL であるため、JavaScript を介したカスタム描画で Canvas 要素を使用すると、カスタム OpenGL と同様のレンダリング パフォーマンスが得られるのではないかと思います。これは意味のある代替手段ですが、カスタム OpenGL 描画と比較して、javascript 描画がランタイムを介してどのように処理されるかは明確ではありません。
qt - QtQuick 2.0でスクロールバーを作成するには?
QtQuick 2.0 でスクロールバーを作成しようとしていますが、
コンポーネントが QtQuick 1.0 で利用可能であることがわかりましたScrollbar
が、QtQuick 2.0 ではそのようなコンポーネントが見つかりません。ListView
QtQuick 2.0 でスクロールバーを作成するにはどうすればよいですか?
何か助けはありますか?前もって感謝します。
c++ - QQuickView (QWindow) が Qt 5.0.x でフルスクリーンかどうかをテストします
の場合QWidget
、フルスクリーンで表示されるかどうかをテストできますflags() & Qt::WindowFullScreen
。理由が何であれ、常に返されるように、同じことがQQuickView
( aQQuickWindow
である a QWindow
) では機能しないようです。次のコードを使用してウィンドウを表示します。QWindow::flags()
Qt::WindowMinimized
Qt 5.1 でQWindow::visibility()
導入されました。QWindow::FullScreen
正しく動作する新しい列挙型を返します。
Qt 5.0.xQWindow
で aがフルスクリーンで表示されているかどうかをテストするにはどうすればよいですか? 「全画面切り替え」機能を実装したい。現在の状態を追跡することは間違った方法のようです (それでも回避策になる可能性はあります)。戻る理由がわかりません...QWindow::flags()
Qt::WindowMinimized
問題を再現するコード ( を押しRETURNて の出力を表示QWindow::flags()
):
test.qml
main.cpp
テストプロ
c++ - 透明な QQuickView
透明な QQuickView を作成し、ユーザー インターフェイス用の独自のレンダリング エンジンで使用しようとしましたが、透明な QQuickViews がサポートされていないことがわかりました (Windows 7)。Windows 7 で Qt が QWindows の透明性をサポートしない理由はありますか?
qt - QML の SplitView に要素を動的に追加する
私は QML を使用しており、要素を SplitView に動的に追加したいと考えています。onMouseClick ですが、これまでのところ答えが見つかりませんでした。
これまでにわかったことは、SplitView
デフォルトのプロパティが最初の子のdata
プロパティに設定されていることです。したがって、動的に作成された新しいコンポーネントを追加して、その親をその子 ( ) に設定する必要があると思いsplitView1.children[0]
ます。残念ながら、それもうまくいきません。さらに、コンポーネントのロードが完了すると、最初の子の子の数はゼロになります (SplitLayout の Component.onCompleted イベントが、それらの子を別の場所に移動する関数を呼び出すようです)。したがって、追加された子はレンダリングされません (また、Layout 添付プロパティのいずれにも応答しません)。
次のコード スニペットを参照してください。
動的に作成されたコンポーネントSplitView
を静的に追加されたコンポーネントとして適切にレンダリングする方法はありますか?