だから私はC++で数独ゲームを書いています。私はほとんどのゲームロジックを実行してテストしましたが、GUI用にその上にQtを使用したいと思いました。私は自分のニーズに合わせてQtクラスを操作するための最良の方法を見つけようとしていました。
テストとして、QAbstractTableModelを試してみました。サブクラス化して、既存のデータモデルと既存のコントローラーにアクセスさせました。今のところ、私はQTableViewを使用して、数独ボードの基本的なレンダリングと基本的な「編集」を取得しています(任意の値を変更できます)。それは私が望むもののようには見えませんが、機能はすべてそこにあります(または追加することができます)。
フレームワークに依存せずに、すべてC++で変更するデータモデルとコントローラーを作成したかったのです。それから私はQtを上に座らせたかったのです。だから私はこれを機能させています、そしてここにこれらのものが高レベルでどのように通信するかについての簡単な「図」があります
QTableView?
^
|
v
PuzzleModel : QAbstractTableModel
^ |
| |_____________
| v
Real data model classes <------------ Controllers
私の質問は、QTableViewを変更するにはどうすればよいですか、またはデータを希望どおりに表示するために独自のビューまたはQWidgetを作成する必要がありますか?
理想的には、固定サイズのテーブル(ヘッダーなし、サイズ変更なし)を表示し、複数選択を禁止したいと思います。さまざまなフォントスタイル/色のレンダリング方法にいくつかのカスタマイズがありますが、それはかなり簡単に処理できると思います。また、各セルを数値として、または「マーク」の場合は次のようにレンダリングしたいと思います。
*-------------* *-------------*
| 1 2 3 | | ****** |
| 4 6 | | * |
| 8 9 | | * |
*-------------* *-------------*
したがって、QTableViewをそのまま使用し続けることはできません。独自のQStyledItemDelegateを作成し、それでもQTableViewを使用しますか?ウィジェット全体を作成する必要がありますか?私が作成した場合
さまざまなQtクラスの機能を知っている人からのアドバイス/指示を探しているだけです。