問題タブ [qabstractlistmodel]
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 - QAbstractListModel insertRows が正しく機能しない
QAbstractListModel のサブクラスがあり、このモデル サブクラスを GridView にアタッチしました。サブクラスから行を削除すると、GridView は更新されますが、モデルに行を挿入すると、GridView は更新されません。removeR を実装しました
QAbstractListModel の非常に単純なサブクラスがあり、それに QML GridView をアタッチしました。GUI に [追加/削除] ボタンが 2 つあります。Add を押すとモデルに文字列が追加され、GUI が更新されます。remove を押すと、最後の文字列がモデルから削除され、GUI が更新されます。私の問題は、挿入される行が1つだけ追加され、削除してもGUIで何も起こらないことです。私のモデルサブクラスとQMLファイルの実装が与えられています。
名前モデル.cpp
main.qml
beginInsertRows / endInsertRows および beginRemoveRows / endRemoveRows を呼び出していますが、機能していないようです。他の同様のスレッドで提案されているように、begin / end InserRows の後に layoutChanged / dataChanged も呼び出しましたが、効果はありません。
実際、私は実際のプロジェクトでほぼ同じ問題を抱えています。この beginInsertRows などの問題点をテストするために、このアプリケーションを作成しました。
どんな助けでも大歓迎です。
Farrukh Arshadさん、よろしく。
qt - QGraphicsView オブジェクトの QListView を作成します
各スライドを表すタイルの縦方向のリストを表示する PowerPoint で表示されるものと同様の外観を与える項目の縦方向のリストを作成できるようにしたいと考えています。
QListView
aと a を併用するのQAbstractListModel
が正しい方法だと思います。私のQAbstractListModel
サブクラスにはQList
ofが含まれていQGraphicsViews
ます。したがって、各タイル (またはスライド) はQGraphicsView
. 私はインターネットで同様の例を見つけるのに多くの時間を費やしました.Qtの例も使用していますが、あまり運がありません.
これが私のモデルクラスです...
では「ADDING」メッセージをaddgvw
取得できますが、「HERE」メッセージは で取得できませんdata
。
これが私のモデルクラスの使い方です...
ウィジェットクラスのコンストラクターで呼び出します
...次に、新しいタイルを作成する関数で、タイルが作成された後に呼び出します...
結局、私のウィジェットは空です:(
編集:追加したいのですが、質問される可能性が高いと思うので、多くの理由で、QPixMap に変換してタイルの画像を表示することに興味がありません。
qt - qabstractlistmodelを使用したカスタムモデルでのQListviewの問題
qlistviewのカスタムモデルを実装しようとしています。私は私のような過去の投稿のリンクを読んでいますが、それを機能させることができませんでした。
追加ボタンをクリックして、ユーザーが動的に作成する必要のあるオブジェクトを一覧表示したいと思いました。リストビューのアイテムを削除するには、ユーザーはアイテムを選択してから削除ボタンをクリックする必要があります。
編集-QAbstractListModelから継承するカスタムモデルを使用してqlistviewを作成しようとしています。qlistviewにはQlistが表示され、すべてのアイテムがqlistviewにリストされます。また、ユーザーに新しいMyCustomObjectを作成してQlistに追加してもらいたいです。
グーグル検索で見つけた例や投稿をフォローしてみましたが、今は迷ってしまいました。
追加ボタンがクリックされると、アプリケーションがクラッシュします。
mainwindow.cpp
mainwindow.h
customlistmodel.cpp
CustomListModel.h
MyCustomObject.h
mycustomobject.cpp
main.cpp
mainwindow.ui
qt - QListViewから値を選択し、送信時に次のウィンドウに渡しますか?
MySQLデータベースからの名前の簡単なリストを表示するために使用しています。 [次へ> ]ボタンをQListView
クリックすると、選択した値を[次のウィンドウ]に送信する必要があります。使用方法と方法、ガイドしてください、よろしくお願いします。QAbstractListModel
c++ - 空白行を表示する QListView ?? (Qt)
Qt の AbstractListModel の実験を始めたばかりで、練習用アプリケーションとして、カスタム オブジェクトを格納するモデルを作成しようとしています。クラスはtestperson
、personlistmodel
クラス、およびmainwindow
. 私が抱えている問題は、ビューに正しいデータが表示されないことです.2つの「testperson」を追加すると、listViewに2つの空の行が表示されます. では、表示するモデルのデータフォーマットが実際にどのように機能するかについて、誰かが私を案内してもらえますか??? 私は今何を間違っていますか??
人物クラス.cpp
PersonListModel.h
PersonListModel.cpp
mainWindow.cpp のいくつかのテスト コードを次に示します。
qt - QAbstractListModel を使用した QListView は空のリストを表示します
QListView
カスタム を使用した非常に単純な例を作成しましたQAbstractListModel
。QListView
が表示されますが、空です。
私は何を間違っていますか?
コード:
ありがとう!
前のコードの修正は、モデルの親を次のように設定することQListView
です。
モデルがビューへの参照を持つ必要がある場合、モデル/ビューの独立性はどこにあるのでしょうか?
このモデルを 2 つの異なるビューで使用したい場合はどうすればよいですか?
qt - QML ListView で QAbstractListModel 派生モデルを役割別に並べ替える
基になる QHash に基づいて QAbstractListModel 派生モデルを作成しました。QML でモデルを使用する必要があるため、Qt ウィジェットとビューに統合されている並べ替え機能を利用できません。
QSortFilterProxyModel を使用してみましたが、私のモデルではうまくいかないようです。モデルを QML で適切に機能させるのは面倒ではありませんでした。
任意の提案をいただければ幸いです。
モデルのソースは次のとおりです。
これをソートしようとしています:
残念ながら、プロキシはモデルとして機能しますが、エントリはソートされません。
python - QAbstractListModel から項目を挿入および削除する
QComboBox で使用する QAbstractListView を作成しようとしています。この QComboBox は、含まれているアイテムの並べ替えられたリストを維持します。私の問題を示すサンプルコードを以下にいくつか含めました。リスト内の項目を更新すると、コンボ ボックスの currentIndex が更新されず、モデルへの変更が反映されません。rowsAboutToBeInserted シグナルと rowsInserted シグナルを使用してみましたが、効果が見られません (間違っているのでしょうか?)。
私の実際の使用例はもう少し複雑ですが、この例で十分です。並べ替えられるアイテムは単なる文字列ではなく、並べ替えるにはもう少し手間がかかり、DisplayRole とは異なる ItemDataRole を持ちます。
itemsAdded と itemsRemoved は私自身の関数であり、プロキシしようとしている別のリストからの信号に接続されます。
問題を引き起こすには、'Insert "c"' ボタンを押してください。文字列はリストに正しく挿入されますが、選択は 'e' から 'd' に移動します (つまり、選択インデックスは変更されません)。
pyqt - QAbstractListModel の PyQt QWidget が QSortFilterProxyModel で削除される
リストビューにウィジェットを設定してから、カスタム プロキシフィルターを使用する必要があります。フィルターがないとうまく機能します。アクティブにすると、モデルに添付されているウィジェットが削除されるようです。
すべてのアイテムが正常に表示され、フィルタリングは機能しますが、フィルターを消去するときに、非表示のウィジェットを再度表示する必要がある場合、次のエラーがスローされます。
custom_widget.setGeometry(option.rect) RuntimeError: 基になる C/C++ オブジェクトが削除されました
QVariant を使用せずに internalPointer ルートを使用しようとしましたが、同じ場所で壊れました。
ご覧いただきありがとうございます。
設定:
カスタム ウィジェット
ビューを描画するデリゲート
リスト ビュー モデル:
最後にフィルター プロキシ モデル:
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 を使用しています。