阅读 178

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

适逢中秋老家居然有在中秋贴对联的习俗,于是自己开机立马写了一个对联生成器,文中给大家介绍的非常详细,对大家的学习或工作具有参考价值

目录
  • 导语

  • 正文

  • 总结

导语

å¾ç

时逢中秋佳节,古人吟诗对唱、把酒言欢的日子, 佳节加上对联,那就是相得益彰。

普天同庆、花好月圆庆中秋,中秋将至,为营造温馨、和谐的节日氛围


2015ç¾å¹´æ¥è对è 4å­æ¥è对è大å¨

小编以对对联的形式,表达了对节日的祝福

都有哪些对联呢?让我们一睹为快吧~


图片

正文

环境安装:

Python3.6、Pycharm、requests模块、界面是基于PyQt5。

图片


首先设置对联生成器的界面小标题等。


1
2
3
4
5
6
7
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)

如下:

然后设置好相应的按钮组件、布局。

1
2
3
4
5
6
7
8
9
10
11
12
13
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)

最后生成对联为横批、上联、下联。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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))

效果如下:

图片

总结

好啦!门前的对联知道贴什么了吧?


讲ä¸æç½ç9个中ç§è常è¯,æ³è¿éæ³è¿é

到此这篇关于中秋节老家要贴对联之python无线对联生成器的文章就介绍到这了

原文链接:https://blog.csdn.net/weixin_55822277/article/details/120205265

服务器评测 http://www.cncsto.com/ 

服务器测评 http://www.cncsto.com/ 

站长资源 https://www.cscnn.com/ 

小鱼创业 https://www.237fa.com/ 


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐