1. 程式人生 > 其它 >PyQt5 GUI && Requests Api 做一個天氣查詢系統(文末領取完整程式碼)

PyQt5 GUI && Requests Api 做一個天氣查詢系統(文末領取完整程式碼)

瞭解之前先來檢視一下已經做好的桌面應用的效果,功能實則比較簡單,就是通過 pyqt5 做一個桌面應用通過 requests 網路請求關聯到開源的天氣查詢 Api,從而完成整個應用。下面通過錄制的簡單視訊瞭解一下吧!

全文閱讀

寫一個函式 init_ui() 用來對應用的 UI 介面進行佈局:

'''UI介面處理函式'''
    def init_ui(self):
        self.setWindowTitle('城市天氣查詢系統')

        grid = QGridLayout()  # 初始化柵格佈局

        self.solr_line_text = QLineEdit()  # 初始化搜尋內容輸入框
        self.solr_line_text.setPlaceholderText('輸入城市名稱')  # 設定預設內容
        self.solr_line_text.setFocus()  # 滑鼠焦點

        self.query_button = QPushButton('查詢')  # 初始化查詢按鈕
        self.query_button.clicked.connect(lambda: self.query_button_click(self.solr_line_text))

        self.res_text = QTextEdit()  # 初始化文字輸入框
        self.res_text.setPlaceholderText('查詢結果展示區域...')  # 初始化提示內容
        self.res_text.setReadOnly(True)  # 設定只讀模式

        '''將內容加入佈局'''
        grid.addWidget(self.solr_line_text, 0, 0)
        grid.addWidget(self.query_button, 0, 1)
        grid.addWidget(self.res_text, 1, 0, 1, 2)

        self.setLayout(grid)

寫一個槽函式,將查詢的按鈕訊號傳送到這個槽函式上就可以按鈕與函式的繫結功能。

    def query_button_click(self,solr_line_text):
        '''
        天氣查詢按鈕繫結函式(槽函式)
        :param solr_line_text:
        :return:
        '''
        if solr_line_text.text():
            text = solr_line_text.text()
            self.request_init(text)

        else:
            warn_dialog = QDialog()
            warn_dialog.setWindowTitle('警告')
            warn_dialog.resize(80,40)

            warn_label_text = QLabel(warn_dialog)
            warn_label_text.setText('<font color=red>請輸入城市名稱!</font>')
            warn_label_text.move(7,15)

            warn_dialog.setWindowModality(Qt.ApplicationModal)
            warn_dialog.exec()

接下來,通過 requests 模組傳送網路請求。

隱藏福利:公眾號內回覆"天氣查詢系統"獲取完整程式碼。

一款優美的windows cmd命令列工具cmder

如何進行excel資料分析之後的視覺化資料寫入儲存!

excel資料處理二:快速完成openpyxl資料的新增、修改!

excel資料處理一:巧妙使用openpyxl提取、篩選資料

比Selenium更方便的自動化測試工具Helium!

歡迎關注作者公眾號【Python 集中營】,專注於後端程式設計,每天更新技術乾貨,不定時分享各類資料!