問題タブ [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.
qt - Qt Quick は、C++ アプリケーション用の最新の GUI を構築する方法ですか?
4 年間の不在の後、私はついに Qt 開発に再び戻ってきました。私はこれまでの開発に非常に感銘を受けましたが、Qt 4.7 で導入されたばかりのQt Quickにも少し混乱しています。
私にとっては、Java Script でいくつかのロジックを使用して、すばやく魅力的な GUI を構築することのように思えます。ただし、C++ アプリケーションを構築する場合、Qt Quick はそのための GUI を構築する最新の方法でもありますか?それとも、.ui
ファイルを使用して従来のパスに従う必要がありますか?
c++ - QGraphicsViewのすべてのスペースを占めるようにQGraphicsItemのサイズを変更すると、ウィンドウのサイズが変更されたときに問題が発生します
私はQGraphicsItem
(実際には)を持っており、それが追加された(これも実際には派生クラス)QDeclarativeItem
の可視スペース全体を占めるようにしたいです。通常は、ビューに合わせてルートオブジェクトを使用でき、自動的にサイズ変更されます。QGraphicsView
QDeclarativeView
QDeclarativeView::setResizeMode(QDeclarativeView::SizeRootObjectToView)
QDeclarativeView
私が抱えている問題は、を使用してルートウィジェットを手動で作成していることです
QDeclarativeView
を呼び出すことによって自動的にそれを行わせる代わりにsetSource()
。これを行う理由は、特定のイベントが発生したときにQMLシーンを交換したいが、前のシーンを破棄したくないためです。呼び出すと、が呼び出されるsetSource()
前に追加されたすべてのアイテムが削除されます。setSource()
そのため、代わりに自分で「ルートオブジェクト」を作成し、それを手動でシーンに追加しています。
私は次のように、ウィンドウのresizeEventを使用してサイズを変更していますQDeclarativeItem
。
これは機能します!しかし、それはあまりきれいではありません。ウィンドウのQDeclarativeItem
サイズをすばやく変更すると、のサイズが十分に速くならず、追いついてサイズを変更する前に、灰色の背景が一時的に表示されます。また、あまりスムーズではありません。
これは、サイズ変更されている複雑なアイテム(私の場合はQWebKitウィジェット)がある場合にのみ発生します。単純なアイテムには問題なく機能します。ただし、それをQDeclarativeView
やらせても、これらの問題はどちらも発生しません。サイズが正しくスムーズに変更されます。
これはQtDeclarativeのものに固有のものではなく、QGraphicsViewに固有のものだと思いますが、おそらく私はそこで間違っています。
誰かアイデアはありますか?
qt4 - QMLでのメニューバーとドロップダウンメニューの実装(Qt Quick)
QMLのドロップダウンメニューの例はありますか?
c++ - 終了時に QT QML/C++ アプリケーションがクラッシュする
バックグラウンドでデータを更新するいくつかのスレッドでかなり複雑な QML / C++ ハイブリッド アプリケーションがあります。特定の ListView を表示し、データを入力してからアプリケーションを終了する場合を除いて、すべて問題なく動作します。デバッガーは次の場所でアサーション エラーで中断します。
スタックトレースは次のとおりです。
編集:
質問: どうすればこの問題を解消できますか? 私のコードの何が問題なのですか? これがどのように発生するかに関する情報はありません。
qt - ListView でのページの切り替えについて
3 つの四角形 (ページ) を含む ListView を作成しました。それらは水平方向にフリックされ、一度に四角形が表示され、ボタンを使用してビューが切り替わります
。ユーザーが & を押してそれらを切り替えないようにする方法を知りたいです。ページをドラッグします (ボタンを押すことによってのみ、別の長方形に移動できます)
ありがとうございます。
qt - 実行時に要素を追加する
実行時に任意のビューに要素を追加するにはどうすればよいですか?
たとえば、何らかの信号が発生した場合、アプリケーションは特定の行に長方形を追加する必要があります。
ありがとう、
qt - デスクトッププログラムの「従来のQt」または「Qtクイック」?
Nokiaは、Qtの最近のベータバージョンでQt Quick(CSS / HTMLを使用するように宣言的にUIを構築する)を導入しました。このサンプルページを確認してください。
反対に、「従来のQt」によって開発されたUIは、それほど派手ではないようです(間違っている可能性があります。以下の免責事項を参照してください)。
だから私の質問は、新しいデスクトッププログラムに「TraditionalQt」または「QtQuick」を使用しますか?なんで?
私の最初の考え:
「従来のQt」:
長所:
使用されるテクノロジー全体は少なく、したがって単純です。PySideを使用する場合は、Pythonでコーディングするだけで、QtQuickのCSS/JSのようなものをいじる必要はありません。
それは成熟しています。
短所:
派手なUIを構築するのはもっと難しいようですか?
「Qtクイック」:
長所と短所:その逆。
Edit
:Qt Quickには欠点があります。間違っている場合は訂正してください。QtQuickUIをWYSIWYGの方法で設計することはできませんよね?
免責事項:私はQt、PySide、Pythonを初めて使用しますが、最近、これらの技術を使用してデスクトッププログラムを構築することを評価し始めました。
qt - UI とレイアウト用の Qt と QML。Qtクイック
QML は Qt でインターフェイスを作成するのに適していることは知っていますが、これらのインターフェイスのレイアウトはどうですか? たとえば、Spotify に似たアプリケーションを作成したいと考えています。しかし、レイアウトを「移動可能」にして、ユーザーが完全にカスタマイズできるようにしたいと考えています。QMLでそれを作るのは難しいですか?通常の Qt レイアウト (gridlayout、graphicwidgets、グラフィック アイテムなど) を使用する必要がありますか?
gridview - QtQuick GridView 要素のアニメーション
GridView のサイズが変更され、その要素が再配置されると、その要素のアニメーションが機能しないようです。
ここに簡単な例があります: http://pastebin.com/BgST6sCv
例
の正方形の 1 つをクリックすると、アニメーションが適切にトリガーされます。ただし、GridView が要素を再配置する必要があるようにウィンドウのサイズを変更すると、アニメーションはトリガーされません。
それを修正する方法はありますか?おそらくC++なしで?
編集:
現在、Qt 4.7.3 を含む Qt SDK 1.1 を使用しています。
qt - 「速度」と無限の「ループ」の両方を備えた QML アニメーション
(持続時間ではなく) 速度を指定し、永久にループするアニメーションをまとめようとしています。うまくいかない例を 2 つ思いつきました。
FirstTry.qml
画面が狂っている間に、次の実行時警告hello
が表示されます(十分です)。
SecondTry.qml
これはもっとミステリーです -SmoothedAnimation
単純にループを拒否します! アニメーションは 1 回実行され、それで終わりです。
だから私は次の質問があります:
最初の例で速度を指定する合法的な方法はありますか? SmoothedAnimation
が から派生していることを理解NumberAnimation
しているので、C++ だけでなく QML でも可能かもしれません。
SmoothedAnimation
ループを作る方法はありますか?2 番目の例はバグで動作していませんか、それとも何か不足していますか?
これら 2 つの動作を同時に達成する他の方法はありますか?