用户:家灵cAZd查看:0 回复:4 评论:0 创建时间:2022-06-15T22:48:50
【作品展示】

【作品介绍】
这是一个鉴于课程內容而作的作品,其中的大多数移植课程代码,其中并没有什么创新。但这只是最开始的版本,我觉得,只要通过作者的努力,一定会有创新点的。
【作品源代码】
import sys
from PySide2.QtWidgets import *
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtMultimedia import *
from ui_edit import Ui_Edit
from ui_24 import Ui_MainWindow
import random
class Game(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setup()
def setup(self):
cards = [self.pbtn_1, self.pbtn_2, self.pbtn_3, self.pbtn_4]
for card in cards:
number = str(random.randint(1, 10))
card.setText(number)
def keyPressEvent(self, event):
if event.key() == Qt.Key_Return:
self.verify()
def verify(self):
answer = self.lineEdit.text()
result = eval(answer)
if result == 24:
print('答对了')
self.setup()
else:
print('答错了')
self.lineEdit.setText('')
class Edit(QMainWindow, Ui_Edit):
def __init__(self):
super().__init__()
self.setupUi(self)
self.setup()
def setup(self):
self.pbtn_start.clicked.connect(self.start)
self.pbtn_save.clicked.connect(self.save)
self.textEdit.setReadOnly(True)
def start(self):
self.pbtn_start.setEnabled(False)
self.textEdit.setReadOnly(False)
timer = QTimer()
timer.singleShot(60000*40,self.end)
def end(self):
self.pbtn_start.setEnabled(False)
self.textEdit.setReadOnly(True)
def save(self):
file = QFileDialog.getSaveFileName(caption='保存写作结果',filter='(*.txt)')[0]
text = self.textEdit.toPlainText()
with open(file,'w',encoding='utf-8') as f:
f.write(text)
self.textEdit.setText('')
class Tray(QSystemTrayIcon):
def __init__(self):
super().__init__()
self.setup()
self.show()
def setup(self):
self.icon = QIcon('sit.png')
self.setIcon(self.icon)
self.add_menu()
def add_menu(self):
self.game = Game()
self.edit = Edit()
self.menu = QMenu()
self.setToolTip('作者信息网站https://shequ.codemao.cn/user/18477425')
self.menu.addAction(QAction('退出', self, triggered=self.quit))
self.menu.addAction(QAction('40分钟打字练习', self, triggered=self.edit.show))
self.menu.addAction(QAction('小游戏24点', self, triggered=self.game.show))
self.setContextMenu(self.menu)
def quit(self):
self.hide()
sys.exit()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Tray()
sys.exit(app.exec_())
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cnfrom PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(427, 265)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.pbtn_1 = QPushButton(self.centralwidget)
self.pbtn_1.setObjectName(u"pbtn_1")
self.pbtn_1.setGeometry(QRect(48, 20, 80, 111))
font = QFont()
font.setPointSize(28)
self.pbtn_1.setFont(font)
self.pbtn_3 = QPushButton(self.centralwidget)
self.pbtn_3.setObjectName(u"pbtn_3")
self.pbtn_3.setGeometry(QRect(132, 20, 80, 111))
self.pbtn_3.setFont(font)
self.pbtn_4 = QPushButton(self.centralwidget)
self.pbtn_4.setObjectName(u"pbtn_4")
self.pbtn_4.setGeometry(QRect(300, 20, 80, 111))
self.pbtn_4.setFont(font)
self.pbtn_2 = QPushButton(self.centralwidget)
self.pbtn_2.setObjectName(u"pbtn_2")
self.pbtn_2.setGeometry(QRect(216, 20, 80, 111))
self.pbtn_2.setFont(font)
self.lineEdit = QLineEdit(self.centralwidget)
self.lineEdit.setObjectName(u"lineEdit")
self.lineEdit.setGeometry(QRect(110, 150, 181, 31))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 427, 17))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u"statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QMetaObject.connectSlotsByName(MainWindow)
# setupUi
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
self.pbtn_1.setText(QCoreApplication.translate("MainWindow", u"1", None))
self.pbtn_3.setText(QCoreApplication.translate("MainWindow", u"1", None))
self.pbtn_4.setText(QCoreApplication.translate("MainWindow", u"1", None))
self.pbtn_2.setText(QCoreApplication.translate("MainWindow", u"1", None))
# retranslateUi
点赞0
评论
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
class Ui_Edit(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(800, 369)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
self.textEdit = QTextEdit(self.centralwidget)
self.textEdit.setObjectName(u"textEdit")
self.textEdit.setGeometry(QRect(10, 10, 781, 261))
self.pbtn_start = QPushButton(self.centralwidget)
self.pbtn_start.setObjectName(u"pbtn_start")
self.pbtn_start.setGeometry(QRect(70, 290, 91, 31))
self.pbtn_save = QPushButton(self.centralwidget)
self.pbtn_save.setObjectName(u"pbtn_save")
self.pbtn_save.setGeometry(QRect(400, 290, 91, 31))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 800, 17))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u"statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QMetaObject.connectSlotsByName(MainWindow)
# setupUi
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"\u9650\u65f6\u5199\u4f5c\u7f16\u8f91\u5668", None))
self.pbtn_start.setText(QCoreApplication.translate("MainWindow", u"\u5f00\u59cb", None))
self.pbtn_save.setText(QCoreApplication.translate("MainWindow", u"\u4f喵\u5b58", None))
# retranslateUi
点赞0
评论