Qtでソート可能なリストを作成しています。コードは下方向スクロールでは完全に機能しますが、リストを下にスクロールした後にドラッグ可能なアイテムを取得する際に問題が発生した場合。理解を深めるために、テストケースのスクリーンショットをいくつか追加しました
さて、これはテストケースコードです
#include <QtGui>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QListWidget *listWidget = new QListWidget;
for(int i=0;i<100;++i){
listWidget->addItem("SongOne");
listWidget->addItem("SongTwo");
listWidget->addItem("SongThree");
listWidget->addItem("SongFour");
listWidget->addItem("SongFive");
}
listWidget->setDragDropMode(QAbstractItemView::InternalMove);
listWidget->setDragEnabled(true);
listWidget->setAcceptDrops(true);
listWidget->setDropIndicatorShown(true);
listWidget->viewport()->setAcceptDrops(true);
listWidget->setSelectionMode(QAbstractItemView::SingleSelection);
listWidget->show();
app.exec();
delete listWidget;
return 0;
}
私の投稿を読んでくれてありがとう。私が見逃しているものについて何かヒントがあれば助けてください.私はいくつかのプロパティを設定していないと思います. メインプログラム(テストコードではない)で、dragMoveEvent
いくつかのメソッドを書き直そうとしましたが、役に立ちませんでした。
ここでの問題は、ドラッグ アンド ドロップではなく、ドラッグ アンド ドロップの実行中に作成される QRect です。図 2 では Qrect が作成されていますが、図 4 では作成されていません