pyqt5设置窗体透明控件不透明
2019-10-04 python 3760
import sys
from PyQt5.QtWidgets import QWidget, QApplication, QDesktopWidget, QLabel
from PyQt5.QtGui import QCursor,QFont
from PyQt5.QtCore import Qt, QTimer
class Example(QWidget):
__dragWin = False
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowFlags(Qt.WindowStaysOnTopHint)
# pyqt5设置窗体透明控件不透明
self.setAttribute(Qt.WA_TranslucentBackground)
self.setWindowFlags(Qt.FramelessWindowHint | Qt.Tool)
self.pic_lbl = QLabel("5", self)
self.pic_lbl.setStyleSheet("QLabel{font-size:200px; color:#f0f;}")
self.pic_lbl.setFont(QFont("Microsoft YaHei"))
self.pic_lbl.setAlignment(Qt.AlignCenter)
# pic_lbl.setPixmap(QPixmap("bg2.png"))
# self.setWindowOpacity(.5)
self.timer = QTimer()
self.timer.setInterval(1000)
self.timer.timeout.connect(self.djs)
self.timer.start()
self.setGeometry(300, 300, 200, 240)
self.setWindowTitle("测试")
self.center()
def djs(self):
num = int(self.pic_lbl.text())
num -= 1
if num < 0:
QApplication.instance().exit()
self.pic_lbl.setText(str(num))
self.pic_lbl.adjustSize()
def center(self):
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
def mousePressEvent(self, e):
self.__dragWin = True
self.__dragWin_x = e.x()
self.__dragWin_y = e.y()
self.setCursor(QCursor(Qt.OpenHandCursor)) # 更改鼠标图标
def mouseMoveEvent(self, e):
if self.__dragWin == True:
pos = e.globalPos()
self.move(pos.x() - self.__dragWin_x, pos.y() - self.__dragWin_y)
def mouseReleaseEvent(self, e):
self.__dragWin = False
self.setCursor(QCursor(Qt.ArrowCursor))
def mouseDoubleClickEvent(self, e):
print("double click")
QApplication.instance().exit()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
很赞哦! (0)
相关文章
文章评论
-
-
-
0条评论