Files

62 lines
2.3 KiB
Python

# coding:utf-8
import sys
from PyQt5.QtCore import QEvent, QPoint, Qt, QUrl
from PyQt5.QtGui import QDesktopServices
from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout
from qfluentwidgets import setTheme, Theme, PushButton, ToolTipPosition
from qfluentwidgets.components.material import AcrylicToolTipFilter
class Demo(QWidget):
def __init__(self):
super().__init__()
self.hBox = QHBoxLayout(self)
self.button1 = PushButton('キラキラ', self)
self.button2 = PushButton('食べた愛', self)
self.button3 = PushButton('シアワセ', self)
# use dark theme
# setTheme(Theme.DARK)
self.setStyleSheet('Demo{background:white}')
self.button1.setToolTip('aiko - キラキラ ✨')
self.button2.setToolTip('aiko - 食べた愛 🥰')
self.button3.setToolTip('aiko - シアワセ 😊')
self.button1.setToolTipDuration(1000)
# self.button2.setToolTipDuration(-1) # won't disappear
self.button1.installEventFilter(AcrylicToolTipFilter(self.button1, 0, ToolTipPosition.TOP))
self.button2.installEventFilter(AcrylicToolTipFilter(self.button2, 0, ToolTipPosition.BOTTOM))
self.button3.installEventFilter(AcrylicToolTipFilter(self.button3, 300, ToolTipPosition.RIGHT))
self.button1.clicked.connect(lambda: QDesktopServices.openUrl(QUrl(
'https://www.youtube.com/watch?v=S0bXDRY1DGM&list=RDMM&index=1')))
self.button2.clicked.connect(lambda: QDesktopServices.openUrl(QUrl(
'https://www.youtube.com/watch?v=CZLs8GuCq2U&list=RDMM&index=4')))
self.button3.clicked.connect(lambda: QDesktopServices.openUrl(QUrl(
'https://www.youtube.com/watch?v=fp-yJUB7sS8&list=RDMM&index=3')))
self.hBox.setContentsMargins(24, 24, 24, 24)
self.hBox.setSpacing(16)
self.hBox.addWidget(self.button1)
self.hBox.addWidget(self.button2)
self.hBox.addWidget(self.button3)
self.resize(480, 240)
if __name__ == '__main__':
# enable dpi scale
QApplication.setHighDpiScaleFactorRoundingPolicy(
Qt.HighDpiScaleFactorRoundingPolicy.PassThrough)
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
QApplication.setAttribute(Qt.AA_UseHighDpiPixmaps)
app = QApplication(sys.argv)
w = Demo()
w.show()
app.exec_()