# -*- coding: utf-8 -*-from PySide6.QtCore import Qt, QSizefrom PySide6.QtWidgets import QDialogfrom ui_message import Ui_MessageWindowfrom icon import MenuIcon, LogoIconfrom style import LabelStyle, WidgetStyle, ButtonStyle# show messageboxclass MessageWindow(QDialog):def __init__(self, parent=None, theme=None, title=None, text=None):super().__init__(parent)self.theme = themeself.title = titleself.text = textself.is_moving = Noneself.start_point = Noneself.window_point = Noneself.ui = Ui_MessageWindow()self.ui.setupUi(self)self.init_window()self.init_menu()self.init_content()def init_window(self):self.ui.lbl_logo.setMinimumSize(QSize(24, 24))self.ui.lbl_logo.setMaximumSize(QSize(24, 24))self.ui.lbl_logo.setPixmap(LogoIcon.get_pixmap())self.ui.lbl_logo.setScaledContents(True)self.ui.lbl_logo.setText('')self.ui.lbl_title.setStyleSheet(LabelStyle.get_title())self.ui.wid_main.setContentsMargins(16, 8, 4, 16)self.ui.wid_main.setStyleSheet(WidgetStyle.get_border('wid_main'))self.setWindowFlags(Qt.Dialog | Qt.FramelessWindowHint)self.setAttribute(Qt.WA_ShowModal, True)def init_menu(self):self.ui.btn_close.setFlat(True)self.ui.btn_close.setIcon(MenuIcon.get_close())self.ui.btn_close.setIconSize(QSize(24, 24))self.ui.btn_close.setText('')self.ui.btn_close.setStyleSheet(ButtonStyle.get_close())self.ui.btn_close.clicked.connect(self.on_exit)self.ui.btn_ok.clicked.connect(self.on_ok)self.ui.btn_cancel.clicked.connect(self.on_cancel)def init_content(self):self.ui.lbl_text.setText(self.text)def on_exit(self):self.close()def on_ok(self):self.done(QDialog.DialogCode.Accepted)def on_cancel(self):self.done(QDialog.DialogCode.Rejected)# process mouse event when dragging the windowdef mousePressEvent(self, e):if e.button() == Qt.LeftButton:self.is_moving = Trueself.start_point = e.globalPosition().toPoint()self.window_point = self.frameGeometry().topLeft()def mouseMoveEvent(self, e):if self.is_moving:pos = e.globalPosition().toPoint() - self.start_pointself.move(self.window_point + pos)def mouseReleaseEvent(self, e):self.is_moving = False
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。