-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcustomQtWidgets.py
More file actions
43 lines (33 loc) · 1.19 KB
/
customQtWidgets.py
File metadata and controls
43 lines (33 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class InteractiveQLabel(QLabel):
mousePress = pyqtSignal(QMouseEvent)
mouseRelease = pyqtSignal(QMouseEvent)
mouseMove = pyqtSignal(QMouseEvent)
wheel = pyqtSignal(QWheelEvent)
def mousePressEvent(self, event):
self.mousePress.emit(event)
QLabel.mousePressEvent(self, event)
def mouseReleaseEvent(self, event):
self.mouseRelease.emit(event)
QLabel.mouseReleaseEvent(self, event)
def mouseMoveEvent(self, event):
self.mouseMove.emit(event)
QLabel.mouseMoveEvent(self, event)
def wheelEvent(self, event):
self.wheel.emit(event)
QLabel.wheelEvent(self, event)
class QTreeWidgetWithDrop(QTreeWidget):
ok_ext = ['hdf5']
drop = QtCore.pyqtSignal(QUrl)
def dropEvent(self, event):
if event.mimeData().hasUrls:
for url in event.mimeData().urls():
if QFileInfo(url.toLocalFile()).suffix().lower() in self.ok_ext:
self.drop.emit(url)
else:
event.ignore()
def mimeTypes(self):
return ['text/uri-list']