Qt實現拖拽資料的功能

2021-08-15 15:46:16 字數 1133 閱讀 4318

今天在進行qt程式設計的時候,學習了一下如何自定義ui的樣式,有時候,你在修改別人程式的時候,可能會發現別人程式中的某個控制項ui設計是直接拖上去的。這種情況下如果你想增加該控制項的事件處理,比如拖拽功能。不太好辦,今天在書上找到乙個方法,就是使用qt設計師裡面的提公升,將需要增加事件響應的那個控制項提公升到乙個類裡面,然後自己實現裡面相關的事件響應函式,今天我成功實現了乙個qtreewidget的提公升,然後把裡面的資料實現了拖拽功能,**如下:

#ifndef new_qtreewidget_h

#define new_qtreewidget_h

#include

#include

class new_qtreewidget:public qtreewidget

;#endif

// new_qtreewidget_h

#include

"new_qtreewidget.h"

#include

#include

#include

#include

#include

#include

#include

#include

new_qtreewidget::new_qtreewidget(qwidget *

parent):qtreewidget(parent)

void new_qtreewidget::dragenterevent(qdragenterevent *e)

}void new_qtreewidget::dragmoveevent(qdragmoveevent *e)

}void new_qtreewidget::dropevent(qdropevent *e)}}

}void new_qtreewidget::mousepressevent(qmouseevent *e)

qtreewidget::mousepressevent(e);

}void new_qtreewidget::mousemoveevent(qmouseevent *e)

qtreewidget::mousemoveevent(e);

}void new_qtreewidget::performdrag()

}

qt禁止拖動 Qt如何實現拖拽功能?

如上圖所示,如何實現通過拖拽的方式交換兩個按鈕的文字?嚴格的說應該叫拖放方式,它包含了拖動和放置兩個部分。拖動通過drag實現,放下通過dropevent事件實現。該例子有點特殊就是拖動和放下的物件都是按鈕,所以拖動和放下都是在同乙個類中實現。具體實現步驟如下 從qpushbutton類派生乙個類,...

js拖拽功能的實現

如果要設定物體拖拽,那麼必須使用三個事件,並且這三個事件的使用順序不能顛倒。1.onmousedown 滑鼠按下事件 2.onmousemove 滑鼠移動事件 3.onmouseup 滑鼠抬起事件 拖拽的基本原理就是根據滑鼠的移動來移動被拖拽的元素。滑鼠的移動也就是x y座標的變化 元素的移動就是s...

WPF實現拖拽功能

兩個content控制項之間實現拖拽功能,在乙個控制項中啟動拖拽操作,在另乙個控制項中處理事件,如下,在兩個listview之間拖拽 在啟動拖拽控制項的mousemove事件裡啟動拖拽 private void listview1 mousemove object sender,mouseevent...