我正在Qt中创建一个可排序列表.该代码适用于Downward Scroll,但是当我滚动列表后我遇到一些问题时可以获得可拖动的项目.我添加了一些测试用例截图,以便更好地理解
Screen1 http://imageshack.us/a/img13/2791/56842367.png Screen2 http://imageshack.us/a/img819/8662/87542336.png Screen3 http://imageshack.us/a/img24/761 /97993758.png Screen4 http://imageshack.us/a/img825/1172/93877106.png
那么这是测试用例代码
#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;
}
Run Code Online (Sandbox Code Playgroud)
感谢您抽出宝贵时间阅读我的帖子.如果你对我错过的东西有任何暗示,请帮助我.我想我缺少设置一些财产.在主程序(不是测试代码)中,我尝试重写了dragMoveEvent几个方法,但没有用.
这里的问题不是拖放,而是拖放时创建的QRect.在图2中,Qrect是创建的,但在图4中没有