我正在 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。在图二中创建了 Qrect,但在图四中没有