問題タブ [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.

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

qt - QML - MouseArea/MouseEvent の問題

次のコードは、赤い四角形と灰色の四角形を含む白い四角形を生成します。すべての長方形には関連付けられた MouseArea があります。灰色の四角形は、マウスでその中をクリックすると青くなります。赤い四角形は、マウス カーソルがその中に入るとコンソール メッセージを出力し、解放された信号が発せられると別のメッセージを出力します。

私はしたいと思います:

  1. 灰色の四角形の内側でマウス ボタンを押したままにします (青色になります)。
  2. ボタンを離さずに、カーソルを灰色/青色の長方形の外側に移動し、次に赤色の長方形の内側に移動し、赤色の長方形の入力信号をキャプチャします
  3. 赤い四角形の内側にカーソルがあるボタンを放し、赤い四角形の解放された信号をキャプチャします。

出来ますか?現在のコードでは、赤い四角形の入力信号は、入力中に mopuse ボタンが押されていない場合にのみ発せられ、ボタンがその四角形の内側で押された場合にのみ、解放された信号が発せられます。問題は、明らかに、ボタンが押された場合に灰色/青色の長方形がマウス イベントの制御を引き継ぐことです。

これは、私が開発中のアプリケーションで使用しているシナリオと似ていますが、簡略化されたシナリオです。

}

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

c++ - QtQuick 2 ウィンドウのタイトルを変更するには?

プロジェクトのデフォルト ウィンドウを変更しようとしていますが、うまくいきません。QtQuick 2.0 を使用しています。QtQuick.Window 2.0 をインポートして、Window{} を Rectangle{} の代わりにルート オブジェクトとして作成しようとしましたが、ウィンドウ オブジェクトをルートとして許可しません。次のエラーが表示されます。

ウィンドウのタイトルを変更する方法についてのアイデアはありますか? Qt 5.1.1 を使用しています。

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

qml - カスタム ComboBoxStyle を使用して ComboBox 要素のラベルを中央に配置する

私はQtQuick.Controls 1.0andを使用していますが、垂直方向と右側QtQuick.Controls.Styles 1.0のラベルを適切に揃える方法が見つかりません。ComboBox

これは私の現在のコードです

しかし、ラベルは要素の左上にとどまり、アンカーの影響を受けていないようです。私も効果なしで置き換えようとしましparentcontrolbackground

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

qt - QAbstractListModel から行を削除する

QML に公開されている QAbstractListModel から派生したカスタム モデルがあります。新しいアイテムを追加したり、既存のアイテムを削除したりする操作をサポートする必要があります。挿入操作は問題なく動作しますが、削除操作では endRemoveRows() 関数の呼び出し中にアプリケーションがクラッシュします。

クラス GPage は QObject から派生します。endRemoveRows() を呼び出そうとしているときにアプリがクラッシュする原因を突き止めようとして、私は感銘を受けました。endRemoveRows() が呼び出されると、「ASSERT failure in QList::at: "index out of range"」というメッセージが表示されます。QAbstracListModel から行を削除するにはどうすればよいですか? 他に方法はありますか?

Windows 7 64 ビット マシンで Qt 5.1.0 を使用しています。

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

opengl - Qt Quick クロス プラットフォーム アプリケーションの OpenGL

クロス プラットフォーム (または少なくともデスクトップ + 組み込みハードウェア) アプリケーションを開発しようとしています。Qt Quick を使用してタッチ フレンドリーな GUI を作成したいと考えています。データを表示する QGLWidget を使用して、従来のアプリケーションを実装しました。ウィンドウの一部のみが OpenGL であることが重要です。このため、EGLFS と LinuxFB には問題があります。X11 (または Wayland) のみがアプリケーションを適切に表示できます (他のものは setParent 関数が欠落しているというエラーをいくつか生成し、画面全体が黒くなります)。今、私は QML で同じことを達成しようとしています。QML アプリケーションの一部としてこの OpenGL レンダラーを使用し、その周りにいくつかの Qt Quick ウィジェットを使用したいと考えています。何人かが同じことを尋ねているのを見つけましたが、答えは常に QDeclarativeItem をサブクラス化し、ペインターを呼び出すことです。■ beginNativePainting() (他の人は QDeclarativeItem を介してエクスポートすると言っていますが、これを行う方法がわかりません)。問題は、デスクトップでは Qt 5.11 のネイティブ ペインタが OpenGL ではないことです。QT5 では、OpenGL グラフィック システムを強制する方法はありません。したがって、OpenGL コンテキスト (QGLContext::currentContext()) を取得しようとすると、常に NULL になります。別の問題: ウィジェットを qmlRegisterType("Test", 1, 0, "Test"); でエクスポートすると、QDeclarativeView を使用した場合にのみ表示されますが、Qt Quick は表示されません。QQuickView を使用すると、モジュール「Test」がインストールされていないと表示されます。どうすればこれを適切に実装できますか? したがって、OpenGL コンテキスト (QGLContext::currentContext()) を取得しようとすると、常に NULL になります。別の問題: ウィジェットを qmlRegisterType("Test", 1, 0, "Test"); でエクスポートすると、QDeclarativeView を使用した場合にのみ表示されますが、Qt Quick は表示されません。QQuickView を使用すると、モジュール「Test」がインストールされていないと表示されます。どうすればこれを適切に実装できますか? したがって、OpenGL コンテキスト (QGLContext::currentContext()) を取得しようとすると、常に NULL になります。別の問題: ウィジェットを qmlRegisterType("Test", 1, 0, "Test"); でエクスポートすると、QDeclarativeView を使用した場合にのみ表示されますが、Qt Quick は表示されません。QQuickView を使用すると、モジュール「Test」がインストールされていないと表示されます。どうすればこれを適切に実装できますか?

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

qt - QtQuick2 を使用した WebView

QtQuick 2 で動作する WebView を取得できないようです。エラーは次のとおりです。 objc[71279]: Class QNSListener is implemented in both /Qt5.1.1/5.1.1/clang_64/plugins/bearer/libqcorewlanbearer.dylib and /Qt5.1.1/5.1.1/clang_64/plugins/bearer/libqcorewlanbearer_debug.dylib. One of the two will be used. Which one is undefined.

10.8.4 を実行している 64 ビット Mac OSX でコンパイルしています。

QML は次のとおりです。

また、PRO ファイルにQT += widgets network webkit webkitwidgetsadnを含めました。CONFIG += x86

何が起こっているのか完全に理解できません。Webビューはまったく表示されません。