pyqt5设置窗体透明控件不透明
2019-10-04 python 2866
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条评论