|
6 | 6 | # @Version : Python3.5
|
7 | 7 |
|
8 | 8 | from PyQt5 import QtWidgets
|
9 |
| -from PyQt5 import QtCore |
| 9 | +from PyQt5 import QtCore, QtGui |
10 | 10 | from PyQt5.QtWidgets import QWidget, QApplication
|
11 | 11 | from mwin import Ui_MWin
|
12 | 12 | import sys
|
13 | 13 |
|
14 |
| -class MWin(Ui_MWin): |
15 |
| - def __init__(self, parent=None): |
16 |
| - super(MWin, self).__init__() |
| 14 | +class Dialog(QWidget): |
| 15 | + """对QWidget类重写,实现一些功能""" |
| 16 | + def __init__(self): |
| 17 | + super().__init__() |
| 18 | + |
| 19 | + # 检测键盘回车按键 |
| 20 | + def keyPressEvent(self, event): |
| 21 | + print("按下:" + str(event.key())) |
| 22 | + # 举例 |
| 23 | + if(event.key() == QtCore.Qt.Key_Escape): |
| 24 | + print('测试:ESC') |
| 25 | + if(event.key() == QtCore.Qt.Key_A): |
| 26 | + print('测试:A') |
| 27 | + if(event.key() == QtCore.Qt.Key_1): |
| 28 | + print('测试:1') |
| 29 | + if(event.key() == QtCore.Qt.Key_Enter): |
| 30 | + print('测试:Enter') |
| 31 | + if(event.key() == QtCore.Qt.Key_Space): |
| 32 | + print('测试:Space') |
| 33 | + if (event.key() == QtCore.Qt.Key_H) and QApplication.keyboardModifiers() == QtCore.Qt.ControlModifier: |
| 34 | + # self.box = QtWidgets.QMessageBox(QtWidgets.QMessageBox.about, "谷歌翻译App", "用户名和密码不匹配!") |
| 35 | + # qyes=self.box.addButton("确定", QtWidgets.QMessageBox.YesRole) |
| 36 | + # # qno=self.box.addButton("取消", QtWidgets.QMessageBox.NoRole) |
| 37 | + # self.box.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) |
| 38 | + # self.box.show() |
| 39 | + self.reply = QtWidgets.QMessageBox(QtWidgets.QMessageBox.Warning, '谷歌翻译App v1.1', |
| 40 | + "1、输入翻译。快捷键 Ctrl+Enter 或点击按钮 \ |
| 41 | + 2、论文模式。需同时勾选实时翻译(监控剪贴板),会自动将回车和多个空格替换为一个空格,以及去掉一个特殊的符号 � \ |
| 42 | + \n3、窗口置顶。即应用始终在桌面顶层。 " ) |
| 43 | + self.reply.addButton(" 确 定 ", QtWidgets.QMessageBox.YesRole) |
| 44 | + self.reply.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) |
| 45 | + self.reply.setIconPixmap(QtGui.QPixmap(":/images/icon64")) |
| 46 | + try: |
| 47 | + with open('style.qss') as f: |
| 48 | + style = f.read() # 读取样式表 |
| 49 | + self.reply.setStyleSheet(style) |
| 50 | + except: |
| 51 | + print("open stylesheet error") |
| 52 | + self.reply.show() |
| 53 | + # reply = QtWidgets.QMessageBox.about(self, |
| 54 | + # '谷歌翻译App', |
| 55 | + # "1、输入翻译。快捷键 Ctrl+Enter 或点击按钮 \ |
| 56 | + # 2、论文模式。需同时勾选实时翻译(监控剪贴板),会自动将回车和多个空格替换为一个空格,以及去掉一个特殊的符号 � \ |
| 57 | + # \n3、窗口置顶。即应用始终在桌面顶层。 " |
| 58 | + # ) |
| 59 | + |
| 60 | + def mousePressEvent(self, event): |
| 61 | + if event.button() == QtCore.Qt.LeftButton: |
| 62 | + print("鼠标左键点击") |
| 63 | + elif event.button() == QtCore.Qt.RightButton: |
| 64 | + print("鼠标右键点击") |
| 65 | + elif event.button() == QtCore.Qt.MidButton: |
| 66 | + print("鼠标中键点击") |
| 67 | + |
| 68 | + # def closeEvent(self, event): |
| 69 | + # """ |
| 70 | + # 重写closeEvent方法,实现dialog窗体关闭时执行一些代码 |
| 71 | + # :param event: close()触发的事件 |
| 72 | + # :return: None |
| 73 | + # """ |
| 74 | + # reply = QtWidgets.QMessageBox.question(self, |
| 75 | + # '谷歌翻译App', |
| 76 | + # "是否要退出程序?", |
| 77 | + # QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No, |
| 78 | + # QtWidgets.QMessageBox.No) |
| 79 | + # if reply == QtWidgets.QMessageBox.Yes: |
| 80 | + # event.accept() |
| 81 | + # else: |
| 82 | + # event.ignore() |
17 | 83 |
|
18 | 84 | if __name__ == '__main__':
|
19 | 85 | app = QApplication(sys.argv)
|
20 |
| - base = QWidget() # 创建基本窗口 |
| 86 | + base = Dialog() # 创建基本窗口 |
21 | 87 | try:
|
22 | 88 | with open('style.qss') as f:
|
23 | 89 | style = f.read() # 读取样式表
|
24 | 90 | base.setStyleSheet(style)
|
25 | 91 | except:
|
26 | 92 | print("open stylesheet error")
|
27 |
| - w = MWin() # 创建用户界面类的实例 |
| 93 | + w = Ui_MWin() # 创建用户界面类的实例 |
28 | 94 | w.setupUi(base) # 将用户界面加载到基本窗口
|
29 | 95 | # 监控剪贴板
|
30 | 96 | clipboard = QApplication.clipboard()
|
|
0 commit comments