draggable window
unknown
python
3 years ago
1.3 kB
13
Indexable
#!/usr/bin/env python
import sys
from PySide2.QtCore import Qt, QEvent
from PySide2.QtWidgets import QApplication, QMainWindow
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
def eventFilter(self, obj, event):
if event.type() == QEvent.MouseButtonPress:
if event.buttons() == Qt.LeftButton:
self.old_position = event.globalPos()
return True
if event.type() == QEvent.MouseMove:
if event.buttons() == Qt.LeftButton:
delta = event.globalPos() - self.old_position
self.move(self.x() + delta.x(), self.y() + delta.y())
self.old_position = event.globalPos()
return True
return super(MainWindow, self).eventFilter(obj, event)
def main():
app = QApplication(sys.argv)
# Create a window.
window = MainWindow()
window.resize(250, 250)
# Make it frameless
window.setWindowFlag(Qt.FramelessWindowHint)
# Install an event filter to filter the mouse events.
window.installEventFilter(window)
# Show the window and execute the app.
window.show()
sys.exit(app.exec_())
if __name__ == "__main__":
main()
Editor is loading...