Страницы

Поиск по вопросам

понедельник, 20 мая 2019 г.

Как перемещать приложение, если шапка с кнопками управления окна (закрыть/свернуть/расширить) скрыта

Как скрыть верхнюю шапку где находятся кнопки управления приложения (закрыть/свернуть/расширить), но в тоже время можно было бы перемещать приложение.
Как саму шапку скрыть я понял, но как сделать чтобы можно было бы при этом перемещать приложение
import sys from PyQt5 import QtWidgets, QtCore
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QMainWindow() w.setWindowFlags(QtCore.Qt.FramelessWindowHint) w.show() sys.exit(app.exec_())


Ответ

Пример:
from PyQt5.QtWidgets import QWidget, QApplication from PyQt5.QtCore import Qt
class Widget(QWidget): def __init__(self): super().__init__()
self.setWindowFlags(Qt.FramelessWindowHint)
self.old_pos = None
def mousePressEvent(self, event): if event.button() == Qt.LeftButton: self.old_pos = event.pos()
def mouseReleaseEvent(self, event): if event.button() == Qt.LeftButton: self.old_pos = None
def mouseMoveEvent(self, event): if not self.old_pos: return
delta = event.pos() - self.old_pos self.move(self.pos() + delta)
if __name__ == '__main__': app = QApplication([])
w = Widget() w.show()
app.exec()

Комментариев нет:

Отправить комментарий