刷新天气+名言

pull/123/head
Maziang 5 months ago
parent c23347f7f9
commit 860e21e95e

@ -770,6 +770,19 @@ class MarkTextMainWindow(QMainWindow):
tools_menu.addSeparator()
# 添加刷新功能
refresh_weather_action = QAction('刷新天气(&R)', self)
refresh_weather_action.setShortcut('F5')
refresh_weather_action.triggered.connect(self.refresh_weather_info)
tools_menu.addAction(refresh_weather_action)
refresh_quote_action = QAction('刷新名言(&F)', self)
refresh_quote_action.setShortcut('F6')
refresh_quote_action.triggered.connect(self.refresh_quote_info)
tools_menu.addAction(refresh_quote_action)
tools_menu.addSeparator()
insert_weather_action = QAction('插入天气(&I)', self)
insert_weather_action.triggered.connect(self.insert_weather_to_editor)
tools_menu.addAction(insert_weather_action)
@ -864,6 +877,9 @@ class MarkTextMainWindow(QMainWindow):
toolbar.addSeparator()
toolbar.addAction("学习模式", self.switch_to_learning_mode)
toolbar.addAction("导入文件", self.import_file)
toolbar.addSeparator()
toolbar.addAction("刷新天气", self.refresh_weather_info)
toolbar.addAction("刷新名言", self.refresh_quote_info)
self.addToolBar(toolbar)
@ -1248,6 +1264,46 @@ class MarkTextMainWindow(QMainWindow):
QMessageBox.critical(self, "错误", f"插入名言失败: {str(e)}")
else:
QMessageBox.warning(self, "提示", "请先打开一个文档")
def refresh_weather_info(self):
"""刷新天气信息 - 强制刷新缓存"""
if not self.network_service:
QMessageBox.warning(self, "提示", "网络服务正在初始化中,请稍后再试")
return
try:
# 清除缓存以强制刷新
if hasattr(self.network_service, 'clear_weather_cache'):
self.network_service.clear_weather_cache()
# 重新获取天气信息
weather_info = self.network_service.get_weather_info(use_cache=False)
if weather_info:
self.statusBar().showMessage("天气信息已刷新", 2000)
# 更新显示
self.update_info_display()
else:
QMessageBox.warning(self, "提示", "无法刷新天气信息")
except Exception as e:
QMessageBox.critical(self, "错误", f"刷新天气信息失败: {str(e)}")
def refresh_quote_info(self):
"""刷新每日名言 - 获取新的名言"""
if not self.network_service:
QMessageBox.warning(self, "提示", "网络服务正在初始化中,请稍后再试")
return
try:
# 获取新的名言
quote_text = self.network_service.get_daily_quote()
if quote_text:
self.statusBar().showMessage("每日名言已刷新", 2000)
# 更新显示
self.update_info_display()
else:
QMessageBox.warning(self, "提示", "无法刷新名言信息")
except Exception as e:
QMessageBox.critical(self, "错误", f"刷新名言信息失败: {str(e)}")
def update_word_count(self):
"""更新字数统计"""

Loading…
Cancel
Save