中秋節老傢要貼對聯之python無線對聯生成器

導語

​​å¾ç

時逢中秋佳節,古人吟詩對唱、把酒言歡的日子, 佳節加上對聯,那就是相得益彰。

普天同慶、花好月圓慶中秋,中秋將至,為營造溫馨、和諧的節日氛圍

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

小編以對對聯的形式,表達瞭對節日的祝福

都有哪些對聯呢?讓我們一睹為快吧~

圖片

正文

環境安裝:

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))

效果如下:​

圖片

總結

好啦!門前的對聯知道貼什麼瞭吧?

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

到此這篇關於中秋節老傢要貼對聯之python無線對聯生成器的文章就介紹到這瞭,更多相關python 對聯生成內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: