了解之前先來查看一下已經做好的桌面應用的效果,功能實則比較簡單,就是通過 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!