返回
玩转PyQt5与智能大模型:春联乐园的奇妙生成之旅
后端
2023-12-12 21:55:29
玩转PyQt5与智能大模型:春联乐园的奇妙生成之旅
前言
随着科技的发展,人工智能已经渗透到我们生活的方方面面。各大模型满天飞,笔者试用了很多模型,科大讯飞感觉还不错,且现在有免费额度,借此机会尝试开发了一款基于Python、PyQt5和科大讯飞AI技术的春联生成器。该生成器可以轻松生成春联,还能将生成的春联以图片的形式保存下来。让春联写作成更加有趣和便捷。
设计与实现
该春联生成器由以下几个部分组成:
- 用户界面 :用户界面采用PyQt5设计,界面简洁友好,操作简单。用户可以通过用户界面输入上联或下联,然后点击“生成”按钮,即可生成春联。
- 春联生成器 :春联生成器采用科大讯飞AI技术,可以根据用户输入的上联或下联,自动生成春联。
- 图片生成器 :图片生成器可以将生成的春联以图片的形式保存下来。
使用说明
- 下载并安装Python和PyQt5。
- 下载并安装科大讯飞AI SDK。
- 将春联生成器代码复制到本地。
- 运行春联生成器。
- 在用户界面中输入上联或下联,然后点击“生成”按钮。
- 春联生成器将自动生成春联。
- 点击“保存”按钮,将生成的春联以图片的形式保存下来。
结语
这款春联生成器是一款非常实用的工具,它可以帮助用户轻松生成春联,还可以将生成的春联以图片的形式保存下来。相信这款春联生成器能够在春联创作中发挥积极的作用。
示例代码
import sys
import PyQt5
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QLineEdit, QLabel
from PyQt5.QtGui import QPixmap
import requests
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("春联生成器")
self.resize(600, 400)
self.central_widget = PyQt5.QtWidgets.QWidget()
self.setCentralWidget(self.central_widget)
self.layout = PyQt5.QtWidgets.QVBoxLayout()
self.central_widget.setLayout(self.layout)
self.label_1 = PyQt5.QtWidgets.QLabel("上联:")
self.layout.addWidget(self.label_1)
self.line_edit_1 = PyQt5.QtWidgets.QLineEdit()
self.layout.addWidget(self.line_edit_1)
self.label_2 = PyQt5.QtWidgets.QLabel("下联:")
self.layout.addWidget(self.label_2)
self.line_edit_2 = PyQt5.QtWidgets.QLineEdit()
self.layout.addWidget(self.line_edit_2)
self.button_generate = PyQt5.QtWidgets.QPushButton("生成")
self.layout.addWidget(self.button_generate)
self.label_3 = PyQt5.QtWidgets.QLabel()
self.layout.addWidget(self.label_3)
self.button_save = PyQt5.QtWidgets.QPushButton("保存")
self.layout.addWidget(self.button_save)
self.button_generate.clicked.connect(self.on_button_generate_clicked)
self.button_save.clicked.connect(self.on_button_save_clicked)
def on_button_generate_clicked(self):
upper_couplet = self.line_edit_1.text()
lower_couplet = self.line_edit_2.text()
if upper_couplet == "" and lower_couplet == "":
self.label_3.setText("请输入上联或下联")
return
url = "https://www.ke.com/ai/restful/couplet/generate"
params = {
"input": upper_couplet + lower_couplet
}
response = requests.get(url, params=params)
if response.status_code != 200:
self.label_3.setText("生成春联失败")
return
result = response.json()
couplet = result["couplet"]
self.label_3.setText(couplet)
def on_button_save_clicked(self):
text = self.label_3.text()
if text == "":
self.label_3.setText("请先生成春联")
return
pixmap = QPixmap()
pixmap.loadFromData(text.encode("utf-8"))
dialog = PyQt5.QtWidgets.QFileDialog()
dialog.setWindowTitle("保存春联")
dialog.setFilter("图片文件 (*.png *.jpg *.bmp)")
if dialog.exec():
filename = dialog.selectedFiles()[0]
pixmap.save(filename)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())