forked from Vixiu/count_buff
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWidget.py
More file actions
36 lines (28 loc) · 1.15 KB
/
Copy pathWidget.py
File metadata and controls
36 lines (28 loc) · 1.15 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
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QWidget
class RoundedWindow(QWidget):
def __init__(self):
super(QWidget, self).__init__()
self.setWindowFlag(Qt.WindowStaysOnTopHint, True)
self.setWindowFlags(self.windowFlags() | Qt.FramelessWindowHint)
self.setAttribute(Qt.WA_TranslucentBackground, True)
def mousePressEvent(self, event):
"""鼠标点击事件"""
if event.button() == Qt.LeftButton:
self.mPos = event.pos()
event.accept()
def mouseReleaseEvent(self, event):
"""鼠标弹起事件"""
self.mPos = None
event.accept()
def mouseMoveEvent(self, event):
if event.buttons() == Qt.LeftButton and self.mPos:
self.move(self.mapToGlobal(event.pos() - self.mPos))
event.accept()
def window_top(self, flag: bool):
# 没有这行代码会使窗口的标题栏消失
if flag:
self.windowHandle().setFlags(self.windowFlags() | Qt.WindowType.WindowStaysOnTopHint)
else:
self.windowHandle().setFlags(self.windowFlags() & ~Qt.WindowStaysOnTopHint)
self.repaint()