错误:权限管理器\u qt.cpp(82)不支持的权限类型:13

2024-09-29 23:26:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究具有内置浏览器功能的python代码(PyQt 5.13)。在

import sys
from PyQt5.QtCore    import *
from PyQt5.QtGui     import *
from PyQt5.QtWidgets import *
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineProfile, QWebEnginePage


class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)

        self.webview = QWebEngineView()
        webpage = QWebEnginePage(self.webview)

        self.useragent = QWebEngineProfile(self.webview)

        agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246"
        self.useragent.defaultProfile().setHttpUserAgent(agent)

        self.webview.setPage(webpage)
        self.webview.setUrl(QUrl("http://whoer.net/"))

        self.setCentralWidget(self.webview)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())   

所有的工作都很好,但有些内容没有加载,在同一时间,命令给出错误

^{pr2}$

怎么了?我尝试以管理员身份运行cmd,但错误仍然存在。如何为代码或该文件分配权限(权限管理器_夸脱cpp)好好工作。在


Tags: 代码fromimportselfinitsysargspyqt5
1条回答
网友
1楼 · 发布于 2024-09-29 23:26:33

TL;DR;由于QtWebEngine禁用了这种可能性,因此无法处理这些权限。在


这个问题与程序执行权限无关。在

qtwebengine是基于chromium编写的,因此Qt开发人员目前并没有实现所有的功能,而是会一点一点地添加更多的功能。在本例中,chromium可用的权限为:

enum class PermissionType {
  MIDI_SYSEX = 1,
  // PUSH_MESSAGING = 2,
  NOTIFICATIONS = 3,
  GEOLOCATION = 4,
  PROTECTED_MEDIA_IDENTIFIER = 5,
  MIDI = 6,
  DURABLE_STORAGE = 7,
  AUDIO_CAPTURE = 8,
  VIDEO_CAPTURE = 9,
  BACKGROUND_SYNC = 10,
  FLASH = 11,
  SENSORS = 12,
  ACCESSIBILITY_EVENTS = 13,
  CLIPBOARD_READ = 14,
  CLIPBOARD_WRITE = 15,
  PAYMENT_HANDLER = 16,
  BACKGROUND_FETCH = 17,
  IDLE_DETECTION = 18,
  PERIODIC_BACKGROUND_SYNC = 19,
  WAKE_LOCK_SCREEN = 20,
  WAKE_LOCK_SYSTEM = 21,

  // Always keep this at the end.
  NUM,
};

但在Qt WebEngine的情况下,并不能处理所有情况:

^{pr2}$

例如,在您的案例中,警告消息:

... NOT IMPLEMENTEDUnsupported permission type: 13

因此,PermissionType::ACCESSIBILITY_EVENTS权限是必需的,但是根据QtWebEngine逻辑返回一个ProfileAdapter::UnsupportedPermission,这是警告消息所指示的。在

结论:

  • 因为这是一个Qt/chromium警告,所以没有办法从您这边解决问题,而且这不是一个错误,它只表明您没有该权限。在

相关问题 更多 >

    热门问题