mbbbbbb 2022-02-10 19:00 采纳率: 50%
浏览 65
已结题

PyQTweengine怎么清理缓存

问题遇到的现象和发生背景

近期用Python的Qtwegine框架做鸭信客户端,用的是PyQtWegine来打开鸭信网页。

img

想要做退出登录的功能,第一个想到的方法就是清空浏览器缓存,清理之后鸭信的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注册表上的内容,但是没有相关记录,无从下手。

我想要达到的结果

就是通过清除缓存来退出鸭信登录

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 2月18日
    • 创建了问题 2月10日

    悬赏问题

    • ¥20 python忆阻器数字识别
    • ¥15 无法输出helloworld
    • ¥15 高通uboot 打印ubi init err 22
    • ¥20 PDF元数据中的XMP媒体管理属性
    • ¥15 R语言中lasso回归报错
    • ¥15 网站突然不能访问了,上午还好好的
    • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
    • ¥15 semrush,SEO,内嵌网站,api
    • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
    • ¥15 振荡电路,ADS仿真