华荣三照明、合信、荣欣八组合馈电
This commit is contained in:
60
QT5_Project/KD_ZM_6/DialogInform.py
Normal file
60
QT5_Project/KD_ZM_6/DialogInform.py
Normal file
@ -0,0 +1,60 @@
|
||||
import sys
|
||||
from PyQt5.QtWidgets import QApplication, QDialog, QLabel, QLineEdit, QWidget, QPushButton, QMessageBox, QComboBox, QDialogButtonBox, QShortcut
|
||||
from PyQt5 import uic
|
||||
from PyQt5.QtGui import QKeySequence
|
||||
from PyQt5.QtCore import Qt, QEvent, QObject, QTimer
|
||||
|
||||
ui_file_path = sys.path[0] + "/DialogInform.ui"
|
||||
|
||||
class DialogInform(QDialog):
|
||||
def __init__(self, parent=None):
|
||||
super(DialogInform, self).__init__(parent)
|
||||
# Load UI file
|
||||
uic.loadUi(ui_file_path, self)
|
||||
label :QLabel = self.label
|
||||
label.setText("")
|
||||
label.setWordWrap(True) # 允许文本自动换行
|
||||
|
||||
|
||||
self.message_timer = QTimer()
|
||||
self.message_timer.timeout.connect(self.close_dialog_timeout)
|
||||
|
||||
self.setWindowTitle("消息提示")
|
||||
self.setWindowFlag(Qt.FramelessWindowHint)
|
||||
button_box : QDialogButtonBox = self.buttonBox
|
||||
button_box.button(QDialogButtonBox.Ok).setText('确定')
|
||||
|
||||
#定义4个快捷键, Key_Enter, Key_Escape经常被各类程序模块使用, 用Key_End, 与Key_Home来代替
|
||||
QShortcut(QKeySequence(Qt.Key_PageDown), self, activated=self.key_enter_process)
|
||||
QShortcut(QKeySequence(Qt.Key_PageUp), self, activated=self.key_escape_process)
|
||||
QShortcut(QKeySequence(Qt.Key_End), self, activated=self.key_enter_process)
|
||||
QShortcut(QKeySequence(Qt.Key_Home), self, activated=self.key_escape_process)
|
||||
|
||||
def information(self, title : str, message : str, timeout_ms : int = 2000) :
|
||||
self.setWindowTitle(title)
|
||||
label :QLabel = self.label
|
||||
label.setText(message)
|
||||
self.message_timer.start(timeout_ms)
|
||||
self.exec()
|
||||
|
||||
def key_enter_process(self):
|
||||
button_box : QDialogButtonBox = self.buttonBox
|
||||
select_button = button_box.button(QDialogButtonBox.Ok)
|
||||
if select_button:
|
||||
select_button.click()
|
||||
|
||||
def key_escape_process(self):
|
||||
button_box : QDialogButtonBox = self.buttonBox
|
||||
select_button = button_box.button(QDialogButtonBox.Cancel)
|
||||
if select_button:
|
||||
select_button.click()
|
||||
|
||||
#消息超时
|
||||
def close_dialog_timeout(self):
|
||||
self.key_enter_process()
|
||||
|
||||
if __name__ == '__main__':
|
||||
app = QApplication(sys.argv)
|
||||
dialog = DialogInform()
|
||||
dialog.exec()
|
||||
sys.exit(0)
|
||||
Reference in New Issue
Block a user