問題タブ [qquickview]
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++ - Qml/Qt/C++: ウィジェットの QQuickView で正しい位置を取得できません
次のスクリーンショットのような HTML ウィンドウ (QWebview) を含む QT5.5 で簡単なプログラムを実装しています。
ここで、プログラムを iOS 用、たとえば iPad 用にもインストールしたいと考えています。QWebview クラスがモバイル システムで利用できないことがわかったので、HTML ウィンドウを QML ファイルを含む QQuickView に変更する必要がありました (または、より良い方法はありますか?)。次のコードをオンラインで見つけました。
次に、コンテナーを mainWindow に追加しました。webview.qml:
しかし、どういうわけか、レイアウトを正しく取得できません。 iOS の HTML ウィンドウ コンテナーの後ろに空白/白い四角形があり、コンテナーは HTML ウィンドウの右側にあるべき場所にもありません。qml ファイルで長方形の幅と高さを変更すると、白い背景ではなく、webview のサイズのみが変更されます。
どうすればこれを正しく行うことができますか?私も使用container->setParent()
しましたが、ビューは常に左側にあります。
c++ - ApplicationWindow からページを切り替えるには、QQuickView または QQmlApplicationEngine を使用します。
をメインファイルとして使用し、で他のファイルApplicationWindow
に切り替えられるようにしたいです。基本的にはこれを行います:QML
C++
QQuickView::setSource(const QUrl & url)
起動 => main.qmlをロード( ApplicationWindow
) => ヘルプ ボタンをクリック => help.qmlファイルをロード =>C++
など
main.qml
(Loader
ここが本当にここに必要かどうか疑問に思っています)
ただしQQuickView
、 から派生したルート オブジェクトのロードのみをサポートしますQQuickItem
。したがって、 では動作しませんApplicationWindow
。
QQmlApplicationEngine
の代わりに使おうと思っているのですQQuickView
が、使い方が違うようで、このクラスしか装備されていませんQQmlApplicationEngine::load(const QUrl & url)
私の目的にとって最善の行動方針は何ですか?main.qmlファイルApplicationWindow
にが本当に必要ですか?
qt - JAWS リーダーが Qt アプリケーションのタイトルを 3 回読み取ります
Qt 5.6 を使用して作成された Qt アプリケーションがあります。QQuickView setTitle() 関数を使用してアプリのタイトルを設定しました。
タイトルは正しく設定されていますが、JAWS スクリーン リーダーを使用すると、アプリケーションの起動時にタイトルが 3 回読み上げられます。
これを解決するにはどうすればよいですか?
アプリのタイトルを設定する方法は次のとおりです
qt - QQuickView の読み込み中のちらつきを防止する
QStackedLayout
2 つのQWidget
オブジェクトが追加された があります。2 番目QWidget
は次のように作成されます。
ここで、2 番目 (上部) のウィジェットを表示および非表示にできるようにしたいと考えています。m_qmlWidget->setVisible(false);
orを呼び出してこれを行いm_qmlWidget->setVisible(true);
ますが、これを行うたびに、ウィジェットは完全に空白 (白色) にペイントされ、背景が透明色に変わった直後です。最初のウィジェットはほとんど黒になるので、これは私にとって問題です。問題の理由は、QML ファイルが読み込まれており、再描画イベントがブロックされているためだと思います。私の頭に浮かぶ2つの解決策は次のとおりです。
- QML ファイルを非同期にロードする
- 2 番目のウィジェットが表示されていないときにアンロードしない
残念ながら、これらのオプションの両方を実行することは不可能です。白い背景がちらつく問題を解決するにはどうすればよいですか?
visible
秒QWidget
を true または falseに変更すると、ちらつきが発生します。一番上のウィジェットを非表示にするとちらつきが発生する理由がわかりません。
ここでは、実用的なサンプル プロジェクトを見つけることができます。多分QOpenGLWidget
オブジェクトはここで問題です。2 つのウィジェットを作成しても問題は発生しなかったようです。
qt - QML ビューをネイティブ ウィンドウに埋め込む方法
QML ビューをネイティブ OSX ウィンドウに挿入しようとすると問題が発生します。それが可能であることは知っていますが、何が間違っているのかわかりません。
基本的に、私の目標は、ネイティブ NSView* を指定して、QML ベースのウィジェットを埋め込むことです。問題は、ビュー内でqmlを実際にレンダラーする場所を指すようにすることですが、横に余分な透明なウィンドウが作成され、QMLビューが適切に再描画されないようです。
これが私が使用しているコードです(すべてのメモリリークを無視してください):
簡単な qml は次のとおりです。
qt - QQmlApplicationEngine と QQuickView の違いは何ですか?
私は次のように使用しQQmlApplicationEngine
ています:
しかし今、アプリでマルチサンプリングを有効にしたいのですが、マルチサンプリングを有効にQQmlApplicationEngine
する方法がないようですsetFormat
。
QQmlApplicationEngine
フォーラムでそれを行う方法を見つけました:
ただし、エンジンの最初のルート オブジェクトが であることに依存していますがQQuickWindow
、これは Qt ドキュメントには記載されていません。だから私はそのテクニックを使いたくない。
別の方法は、スキップして代わりにQQmlApplicationEngine
a を作成することです。QQuickView
これにはマルチサンプリングを有効にする方法がありますが、 からにsetFormat
切り替えることで何かが失われるのではないかと思っています。QQmlApplicationEngine
QQuickView
言い換えれば、これら 2 つのクラスの違いは何ですか?
私が見つけた1つの違いはこれです(ここから):
QQuickView とは異なり、QQmlApplicationEngine はルート ウィンドウを自動的に作成しません。Qt Quick のビジュアル アイテムを使用している場合は、ウィンドウ内に配置する必要があります。
この特定の違いは私には関係ありません。
他に違いはありますか?
qml - マウスイベントに対して透過的な QQuickView (QML)
ボタンが中央にある大きな長方形があります。クリック可能でなければならないボタンを除いて、私の四角形がマウスイベントに対して透過的であることを望みます。つまり、長方形が表示されていないかのように、長方形の下のコードをマウスで選択できるようにしたいと考えています。
マウス イベントを無視しようとして、すべての大きな Rect に MouseArea を追加しましたが、機能しません。
「Qt::WA_TransparentForMouseEvents」がその目的で使用されていることを読みましたが、Qt ウィンドウでは、私の場合は利用できません。
前もって感謝します
私の QML は main.cpp からロードされます:
MyRect.qml:
qt-quick - QQuickView と QQuickItem の違いは何ですか?
QQuick クラスを使用して C++ でインターフェイスを記述するために、QQuickView の代わりに QQuickItem を継承することを想定しています。Qtドキュメントで提供されている説明から、QQuickViewがqmlをロードすることを理解しました。 QQuickView は、表示可能な QML オブジェクトをアプリケーションのユーザー インターフェイスに統合するために使用されます。 QQuickItem は QWidget のようなものです (ここで間違っているかもしれません)。 QQuickItem クラスは、Qt Quick のすべてのビジュアル アイテムの中で最も基本的なものを提供します。 誰かがそれについて詳しく説明できますか?
前もって感謝します