欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-07 23:36:53
目录导语​​时逢中秋佳节,古人吟诗对唱、把酒言欢的日子, 佳节加上对联,那就是相得益彰。普天同庆、花好月圆庆中秋,中秋将至,为营造温馨、和谐的节日氛围​​...

导语

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

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

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

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

中秋节老家要贴对联之python无线对联生成器小编以对对联的形式,表达了对节日的祝福

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

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

正文

环境安装:

python3.6、pycharm、requests模块、界面是基于pyqt5。​

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

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

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)

如下:

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

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

 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无线对联生成器

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

总结

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

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

到此这篇关于中秋节老家要贴对联之python无线对联生成器的文章就介绍到这了,更多相关python 对联生成内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!