问题遇到的现象和发生背景
近期用Python的Qtwegine框架做鸭信客户端,用的是PyQtWegine来打开鸭信网页。
想要做退出登录的功能,第一个想到的方法就是清空浏览器缓存,清理之后鸭信的cookie自然就没了。但是不知道方法,网上也没有答案,求解。
问题相关代码
省略无关代码 重中之重:
class MainWindow(QMainWindow, tabUi.Ui_MainWindow):
def update_tab(self):
index = 0 # 创建索引
for i in self.tabs:
self.central.addTab(i, "鸭信" + str(index))
index += 1
def __init__(self):
QMainWindow.__init__(self) # 初始化窗体
self.mySettingsWindow = None # 默认没有小窗口
super(tabUi.Ui_MainWindow, self) # 初始化UI
self.setupUi(self) # 绑定自身继承的窗口
self.mainFolder = os.path.dirname(__file__) # 相当于getcwd
self.img_folder = os.path.join(self.mainFolder, "icons") # 图标目录
self.setWindowTitle("鸭信客户端") # 标题
try: # 尝试
self.windowSize = parseSize(settingsMgr.verify.get("window_size")) # 获取大小
except KeyError: # 获取不到(可能config.json被用户玩坏了)
self.windowSize = [1300, 1000] # 使用默认大小
else: # 否则(没有完全玩坏)
if not self.windowSize: # 要是值被调过无法获取
self.windowSize = [1300, 1000] # 使用默认大小
self.setGeometry(150, 50, *self.windowSize) # 大小设置
self.setWindowIcon(QIcon("icon.ico")) # 图标小鸭子
self.browser = self.browser1 # 默认是第一个浏览器
self.tabWidget.currentChanged.connect(self.changeTab) # 切换时自动设置当前浏览器
self.__init2__() # 设置一些后续补充的方法
'''
self.central = QTabWidget() # 创建标签页控件
self.central.setTabPosition(0)
self.tabs = [QWidget()] # 创建标签页列表
self.central.resize(800, 100)
self.browser = QWebEngineView(self.tabs[0]) # 创建网页浏览器
self.browsers = [self.browser] # 创建浏览器列表
'''
# self.update_ta`b()
self.browser.load(QUrl("http://chat.yangguang-gongzuoshi.top/index.php?action=page.index" if not settingsMgr.
verify["default_site"] else settingsMgr.verify["default_site"]))
'''
self.browser.show()
self.setCentralWidget(self.central)
'''
# creation of tool bar ....
navtb = QToolBar("Navigation")
navtb.setIconSize(QSize(30, 30))
self.addToolBar(navtb)
back_btn = QAction(QIcon(os.path.join(self.img_folder, "arrow-curve-180-left.png")), "后退/Back", self)
back_btn.setStatusTip("previous tab")
back_btn.triggered.connect(self.browser.back)
navtb.addAction(back_btn)
forward_btn = QAction(QIcon(os.path.join(self.img_folder, "arrow-curve.png")), "前进/forward", self)
forward_btn.setStatusTip("Forward tab")
forward_btn.triggered.connect(self.browser.forward)
navtb.addAction(forward_btn)
home_btn = QAction(QIcon(os.path.join(self.img_folder, "home.png")), "首页/Home", self)
home_btn.setStatusTip("Home")
home_btn.triggered.connect(self.home_clicked)
navtb.addAction(home_btn)
navtb.addSeparator()
self.http_icon = QLabel()
self.http_icon.setPixmap(QPixmap(os.path.join(self.img_folder, "lock.png")))
navtb.addWidget(self.http_icon)
self.urlbar = QLineEdit()
self.urlbar.returnPressed.connect(self.navigate_url)
navtb.addWidget(self.urlbar)
search_btn = QAction(QIcon(os.path.join(self.img_folder, "search.png")), "搜索网址/SearchUrl", self)
search_btn.setStatusTip("Search")
search_btn.triggered.connect(self.navigate_url)
navtb.addAction(search_btn)
refresh_btn = QAction(QIcon(os.path.join(self.img_folder, "./arrow-circle-double-135.PNG")), "刷新/Refresh", self)
refresh_btn.setStatusTip("Refresh")
refresh_btn.triggered.connect(self.browser.reload)
navtb.addAction(refresh_btn)
stop_btn = QAction(QIcon(os.path.join(self.img_folder, "cross.png")), "停止/Stop", self)
stop_btn.setStatusTip("Stop")
stop_btn.triggered.connect(self.browser.stop)
navtb.addAction(stop_btn)
settings_btn = QAction(QIcon(os.path.join(self.img_folder, "settings.png")), "设置/Settings", self) # 创建设置动作
settings_btn.setStatusTip("Settings") # 设置工具提示
settings_btn.triggered.connect(self.settings_open) # 设置槽函数
navtb.addAction(settings_btn) # 添加到工具栏
# changing URL bar content per search ...
self.browser.urlChanged.connect(self.update_urlbar)
def __init2__(self):
self.settings_open = self.settings_open # 设置弹出设置的方法
运行结果及报错内容
无
我的解答思路和尝试过的方法
尝试从注册表编辑器窗口查看然后使用Python清除QtWegine注册表上的内容,但是没有相关记录,无从下手。
我想要达到的结果
就是通过清除缓存来退出鸭信登录