中秋节老家要贴对联之python无线对联生成器
导语

时逢中秋佳节,古人吟诗对唱、把酒言欢的日子, 佳节加上对联,那就是相得益彰。
普天同庆、花好月圆庆中秋,中秋将至,为营造温馨、和谐的节日氛围
小编以对对联的形式,表达了对节日的祝福
都有哪些对联呢?让我们一睹为快吧~
正文
环境安装:
Python3.6、Pycharm、requests模块、界面是基于PyQt5。
首先设置对联生成器的界面小标题等。
class CoupletGenerator(QWidget):
def __init__(self, parent=None, **kwargs):
super(CoupletGenerator, self).__init__(parent)
self.setWindowTitle('对联生成器')
self.setWindowIcon(QIcon('data/icon.jpg'))
self.setFixedSize(600, 400)
如下:

然后设置好相应的按钮组件、布局。
self.label_title = QLabel('对联主题:')
self.line_title = QLineEdit('中秋佳节')
self.generate_btn = QPushButton('生成')
self.label_result = QLabel('生成结果:')
self.text_couple = QTextEdit()
grid = QGridLayout()
grid.addWidget(self.label_title, 1, 0)
grid.addWidget(self.line_title, 1, 1, 1, 39)
grid.addWidget(self.generate_btn, 1, 40)
grid.addWidget(self.label_result, 2, 0)
grid.addWidget(self.text_couple, 2, 1, 1, 40)
self.setLayout(grid)
最后生成对联为横批、上联、下联。
def generate(self):
if not self.line_title.text().strip():
return
url = f'https://aip.baidubce.com/rpc/2.0/nlp/v1/couplets?access_token={self.access_token}'
headers = {
'Content-Type': 'application/json'
}
all_couplets = []
index_ranges = [(0, 2), (3, 5), (6, 8), (9, 11), (12, 14)]
for idx in range(5):
params = {
'text': self.line_title.text(),
'index': random.randint(*index_ranges[idx]),
}
response = requests.post(url, headers=headers, json=params)
response_json = response.json()
center = response_json['couplets']['center']
first = response_json['couplets']['first']
second = response_json['couplets']['second']
text = f'横批: {center}\n上联: {first}\n下联: {second}'
all_couplets.append(text)
self.text_couple.setText('\n\n\n'.join(all_couplets))
效果如下:


总结
好啦!门前的对联知道贴什么了吧?
到此这篇关于中秋节老家要贴对联之python无线对联生成器的文章就介绍到这了,更多相关python 对联生成内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
教你漂亮打印Pandas DataFrames和Series
在今天的文章中,我们将探讨如何配置所需的pandas选项,这些选项将使我们能够“漂亮地打印” pandas DataFrames,需要的朋友可以参考下2021-05-05
Python使用pyinstaller打包含有gettext locales语言环境的项目(推荐)
最近在用 pyhton 做一个图片处理的小工具,顺便接触了gettext,用来实现本地化化中英文转换,本文通过一个项目给大家详细介绍下,感兴趣的朋友跟随小编一起看看吧2022-01-01
Python使用urllib模块的urlopen超时问题解决方法
这篇文章主要介绍了Python使用urllib模块的urlopen超时问题解决方法,本文使用socket模块中的setdefaulttimeout函数解决了超时问题,需要的朋友可以参考下2014-11-11
关于python3.9安装wordcloud出错的问题及解决办法
这篇文章主要介绍了关于python3.9安装wordcloud出错的问题及解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-11-11


最新评论