問題タブ [model-view]

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 に答える
726 参照

opengl - モデル ビュー マトリックスからオイラー回転を導き出す

いくつかのシンボルを Y 軸に揃える必要があるウィジェット ツール キットを実装しています。

これらのシンボルは、親オブジェクトのモデル ビュー マトリックスを使用して描画されるため、同様に回転します。

解決策は、これらのシンボルをレンダリングする前に逆回転を適用することですが、正しい逆回転を適用するために、すべての回転 (私の場合は Z 軸のみ) を追跡する必要があります。悲しいことに、「制御不能な」すべての回転は、実際のモデル ビュー マトリックスの回転と維持される「グローバルな」回転との間に不整合を引き起こします。

モデル ビュー マトリックスから直接オイラー回転角度を導き出すにはどうすればよいでしょうか?

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

c# - ListView を ModelView にリンクするにはどうすればよいですか?

ListViewModelView で製品の名前とコードを使用して を作成したいのですが、そうすると:

製品ガイドのみが表示されます。

Product.Nameプロパティを使用して列を作成し、プロパティを使用して別の列を作成するにはどうすればよいProduct.Codeですか?

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

android - Android での glUnProject の問題

私のゲームでは、プレイヤーが触れている場所を見つける必要があります。MotionEvent.getX() と MotionEvent.getY() はウィンドウ座標を返します。そこで、この関数を作成して、ウィンドウ座標を OpenGL 座標に変換することをテストしました。

X と y は、ほぼ -33 からほぼ +33 まで振動しました。Z は通常 10 です。MatrixGrabber を間違って使用したのでしょうか。

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

c++ - Qtモデルビュークラスの使用方法に関するアドバイス

だから私はC++で数独ゲームを書いています。私はほとんどのゲームロジックを実行してテストしましたが、GUI用にその上にQtを使用したいと思いました。私は自分のニーズに合わせてQtクラスを操作するための最良の方法を見つけようとしていました。

テストとして、QAbstractTableModelを試してみました。サブクラス化して、既存のデータモデルと既存のコントローラーにアクセスさせました。今のところ、私はQTableViewを使用して、数独ボードの基本的なレンダリングと基本的な「編集」を取得しています(任意の値を変更できます)。それは私が望むもののようには見えませんが、機能はすべてそこにあります(または追加することができます)。

フレームワークに依存せずに、すべてC++で変更するデータモデルとコントローラーを作成したかったのです。それから私はQtを上に座らせたかったのです。だから私はこれを機能させています、そしてここにこれらのものが高レベルでどのように通信するかについての簡単な「図」があります

私の質問は、QTableViewを変更するにはどうすればよいですか、またはデータを希望どおりに表示するために独自のビューまたはQWidgetを作成する必要がありますか?

理想的には、固定サイズのテーブル(ヘッダーなし、サイズ変更なし)を表示し、複数選択を禁止したいと思います。さまざまなフォントスタイル/色のレンダリング方法にいくつかのカスタマイズがありますが、それはかなり簡単に処理できると思います。また、各セルを数値として、または「マーク」の場合は次のようにレンダリングしたいと思います。

したがって、QTableViewをそのまま使用し続けることはできません。独自のQStyledItemDelegateを作成し、それでもQTableViewを使用しますか?ウィジェット全体を作成する必要がありますか?私が作成した場合

さまざまなQtクラスの機能を知っている人からのアドバイス/指示を探しているだけです。

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

c++ - Qt サブクラス化された QStyledItemDelegate ペイント メソッドが呼び出されることはありません

更新: 私のペイント メソッドは const ではありませんでした

QTableViewに接続されたカスタムがありQAbstractTableModelます。

最近QStyledItemDelegateサブクラスを作成し、そのpaintメソッドがデバッグ メッセージを出力し、親ペイントを呼び出して、別のデバッグ メッセージを出力します。

私は呼び出しview->setItemDelegateて、ビュー内のアイテム デリゲートが指定したものであることを確認しました (念のため)。

ただし、私のプログラムは以前と同じようにレンダリングするだけで、デバッグ メッセージを .xml ファイルに出力することはありませんpaint。デリゲートのコンストラクターでデバッグ メッセージを出力するので、その関数が呼び出された場合に出力する必要があることがわかります。

これが私のコードの簡素化されたバージョンです。次のいずれかをお知らせください。

  1. 何が悪いのか分かりますか?
  2. このような Qt クラスをデバッグするにはどうすればよいですか?
  3. この問題を診断するために投稿する必要がある他の関連コードは何ですか?
  4. 私が試すことができる一般的な解決策はありますか?

ありがとう!

デリゲート .h および .cpp ファイル全体 (インクルード/名前空間を除く) は次のとおりです。

したがって、デバッグ出力は、コンストラクターが呼び出されていることを示しています (ただし、デストラクタは呼び出されていません...)。ただし、メッセージはpaint印刷されません。

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

python - PyQt モデル/ビュー: プログラムによる変更のためのモデルのタイプはどれですか?

私は最近、アプリケーションの書き直しを開始しました。それをモデル/ビューに移植して、そこにあるクラッジの数を減らそうとしています。

これまでのところ、 から継承した読み取り専用モデルを成功裏に作成することができましたQAbstractTableModel。このモデルは次のようなものです。

data多数のオブジェクトを含むリストです。これらは data() メソッドでアクセスされます。

定義済みのdata要素を使用する場合、これで問題ありません。しかし、実際にdataはプログラムによって変更されます (特定のシグナルが受信されると拡張されます)。モデルにこれを認識させて、ビューもこれらの変更に反応できるようにするにはどうすればよいですか?

私は読み書きモデルについて読んできましたが、ユーザーが編集および変更することもできますが、私の見解では、編集できないようにしたいと考えています。つまり、モデルは「舞台裏で」変更する必要があります。のみ、ビューはそれに適応します。

この場合の最善のアプローチは何ですか? setData() などを使用して読み書きモデルを実装しますか、それとももっと簡単な解決策がありますか?

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

opengl-es - OpenGL ES (WebGL) のカメラとモデルビュー

OpenGL 変換に少し問題があります。頂点シェーダーが に設定gl_Positionされていprojection * view * model * vertexます。空間内のカメラのモデル マトリックスを反転してビュー マトリックスを生成するコードがありますが、カメラが見ているオブジェクトを空間内で回転するように設定すると、代わりにカメラが回転しているように見えます。

何が原因でしょうか?

0 投票する
4 に答える
456 参照

database - データベース設計で「display_order」フィールドを使用することに対する批判は何ですか?

私の会社のソフトウェア製品では、多くのデータベース テーブルが「display_order」フィールドを利用しています。ページ上の要素の表示順序を制御する整数です。

私の腸の奥深くで、これは悪い習慣だと感じています。(または、少なくとも、最適とは言えない設計の選択)。しかし、なぜこれが悪い習慣なのか、自分自身を明確にするのに苦労しています。

これまでのところ、私が思いついた唯一の理由は次のとおりです。

  • ビューをモデルにミックスします。

  • 順序の変更は、多くの異なる行に影響を与える可能性がある高価なデータベース操作です。

  • 多くの場合、要素の順序がわかっている場合、テーブルが十分に小さいため、最初からテーブルが無駄である可能性があります。たとえば、「ステータス」テーブルでは、ステータスは別の「ルックアップ」テーブルではなく、ハードコードされた単純な配列である必要があります。

データベース設計で「display_order」フィールドを回避するための適切な議論はありますか?

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

architecture - ModelViewからModelViewへの通信

次のシナリオに対する(アーキテクチャの品質の観点から)最良のアプローチは何を提案しますか?

ModelViewA(親)-データを表示するにはModelViewBからのコレクションが必要です-コレクションが変更されていない場合でも、コレクションに複数回アクセスします

ModelViewB(子)-アイテムのコレクションを保持します。コレクションは概念的にModelViewBに属し、主にこの(モデル)ビュー内で変更されます。ただし、ModelViewAはコレクションを変更することもできます

私が採用している現在のアプローチは、ModelViewBにコレクションを作成し、ModelViewAに複製を作成することです。メッセージングバス(MMVM Lightツールキット)を使用して、ModelViewsに変更を相互に通知させます。ただし、重複したコレクションを保持して同期しているため、これは厄介な感じがします。むしろ、1つの場所にのみ配置し、ModelViewAとBの両方からアクセスしたいと思います。おそらく1つのModelViewを別の場所に注入することを考えていましたが、結合が増加し、MVVMパターンでは一般的に間違っていると感じます。参照を保持する静的ロケーター(これもMVVM Lightツールキットから)があるので、両方のModelViewへの静的参照を使用することもできます。それとももっと良い解決策がありますか?

ありがとう、

O

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

qt - Qtのモデルビュープログラミングの使用方法

いくつかのカードをQListViewに表示しようとしていますが、Qtのモデル/ビューパターンの使用方法を理解するのに本当に苦労しており、簡単な例を見つけることができません。

基本的に、私には2つのクラスがあります。

  • カード-カードの名前、IDなどを含む私の「モデル」。

  • CardWidget-Cardオブジェクトをロードおよびレンダリングできます(カード名およびその他の情報を表示します)

では、CardとCardWidgetを使用してカードのリストをListViewに表示するにはどうすればよいですか?クラスに何かを変更する必要がありますか、それともQListViewでクラスを直接表示できるようにする必要がありますか?

誰かが私に基本的な手順を教えてくれるか、完璧な正しい方向に私を向けることができれば。