簡體   English   中英

移動項目時 QTreeWidget 會彈回

[英]QTreeWidget snaps back when moving items

當我使用 QTreeWidget(通過 qdesigner)並將 dragDropMode 設置為 InternalMove,然后嘗試移動其中一個項目時,滾動條會彈回到我移動的項目的原始位置。 我希望滾動條停留在項目被丟棄的位置。 有沒有簡單的方法來做到這一點? 我調整了defaultDropAction,但無濟於事。

弄清楚了...

class MyTree : public QTreeWidget
{
   Q_OBJECT
   public:
      MyTree(QWidget *parent = 0);
   signals:
      void verticalScrollBarValue(int val);
   protected slots:
      void setTreeVerticalScroll(int val);
   protected:
      void dropEvent(QDropEvent *event);
};
MyTree::MyTree(QWidget *parent) : QTreeWidget(parent)
{
   connect(this, &MyTree::verticalScrollBarValue,
           this, &MyTree::setTreeVerticalScroll);
}

void MyTree::setTreeVerticalScroll(int val)
{
   verticalScrollbar()->setValue(val);
}

void MyTree::dropEvent(QDropEvent *event)
{
   int v = verticalScrollbar()->value();
   QTreeWidget::dropEvent(event);
   emit verticalScrollBarValue(v);
}

免責聲明:某處可能有錯字,我無法直接從我的工作環境中復制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM