예제 #1
0
def tryout_with_qt():
    import sys
    from PyQt4 import QtCore, QtWebKit, QtWidgets
    from os.path import join, dirname
    import ibeis.viz

    class Browser(QtWebKit.QWebView):
        def __init__(self):
            super(Browser, self).__init__()
            self.loadFinished.connect(self._result_available)

        def _result_available(self, ok):
            pass
            #frame = self.page().mainFrame()
            #print(unicode(frame.toHtml()).encode('utf-8'))

    app = QtWidgets.QApplication(sys.argv)

    view = Browser()
    view.show()
    path = join(dirname(ibeis.viz.__file__), 'd3_example.html')
    view.load(QtCore.QUrl(path))
    view.page().settings().setAttribute(
        QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)

    insp = QtWebKit.QWebInspector()
    insp.setPage(view.page())
    insp.show()

    app.exec_()
예제 #2
0
    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)
        layout = QtGui.QVBoxLayout()
        layout.setContentsMargins(0, 0, 0, 0)
        webView = QtWebKit.QWebView()

        webInspector = QtWebKit.QWebInspector(self)
        page = webView.page()
        page.settings().setAttribute(
            QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
        webInspector.setPage(page)
        webInspector.setVisible(True)

        splitter = QtGui.QSplitter(self)
        splitter.addWidget(webView)
        splitter.addWidget(webInspector)
        splitter.setSizes([3, 0])

        layout.addWidget(splitter)

        self.setLayout(layout)

        webView.load(
            QtCore.QUrl(os.path.join(os.path.dirname(__file__), 'index.html')))

        self.resize(950, 500)
예제 #3
0
def config():
	app = QtGui.QApplication(sys.argv)
	app.setApplicationName("Cota Croche")

	pyObj = JS_Object()

	file_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "public/index.html"))
	local_url = QtCore.QUrl.fromLocalFile(file_path)

	webView = QtWebKit.QWebView()

	# add javaScript obj in page
	webView.page().mainFrame().addToJavaScriptWindowObject("pyObj", pyObj)

	inspector = QtWebKit.QWebInspector()

	webView.page().settings().setAttribute(
		QtWebKit.QWebSettings.DeveloperExtrasEnabled, True
	)

	inspector.setPage(webView.page())

	webView.load(local_url)

	window = QtGui.QMainWindow()
	window.setWindowTitle("Cota Croche")
	window.resize(800, 500)# funciona para ajustar o tamanho da janela.
	window.setCentralWidget(webView)
	window.show()


	app.exec_()
예제 #4
0
    def __init__(self, ctr, parent=None):
        super(SimpleBrowsers, self).__init__(parent)
        self.ctr = ctr
        self.webView = WebView(self)

        page = self.webView.page()
        #page.settings().setAttribute(QtWebKit.QWebSettings.JavascriptEnabled, False)
        page.settings().setAttribute(QtWebKit.QWebSettings.PluginsEnabled, True)
        page.settings().setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
        self.webInspector = QtWebKit.QWebInspector(self)
        self.webInspector.setPage(page)

        shortcut = QtGui.QShortcut(self)
        shortcut.setKey(QtCore.Qt.Key_F12)
        shortcut.activated.connect(self.toggleInspector)
        self.webInspector.setVisible(False)

        self.splitter = QtGui.QSplitter(self)
        self.splitter.setOrientation(QtCore.Qt.Vertical)

        self.verticalLayout = QtGui.QVBoxLayout()
        self.verticalLayout.addWidget(self.splitter)

        self.splitter.addWidget(self.webView)
        self.splitter.addWidget(self.webInspector)

        self.setLayout(self.verticalLayout)
예제 #5
0
파일: webview.py 프로젝트: oglops/scope
    def setupInspector(self):
        page = self.page()
        page.settings().setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
        self.webInspector = QtWebKit.QWebInspector(self)
        self.webInspector.setPage(page)

        shortcut = QtGui.QShortcut(self)
        shortcut.setKey(QtCore.Qt.Key_F12)
        shortcut.activated.connect(self.toggleInspector)
        self.webInspector.setVisible(False)
예제 #6
0
    def __init__(self, parent, url='about:blank'):
        super(WebBrowser, self).__init__(parent)
        # 关闭窗口时自动销毁
        # self.setAttribute(Qt.Qt.WA_DeleteOnClose, True)
        # 显示最小和最大按钮
        self.setWindowFlags(self.windowFlags() | Qt.Qt.WindowCloseButtonHint
                            | Qt.Qt.WindowMinimizeButtonHint
                            | Qt.Qt.WindowMaximizeButtonHint)

        # 修改webkit全局设置
        default_settings = QtWebKit.QWebSettings.globalSettings()
        # 启用javascript支持
        default_settings.setAttribute(QtWebKit.QWebSettings.JavascriptEnabled,
                                      True)
        default_settings.setAttribute(
            QtWebKit.QWebSettings.JavascriptCanOpenWindows, True)
        # 启动开发者工具支持
        default_settings.setAttribute(
            QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
        default_settings.setAttribute(
            QtWebKit.QWebSettings.LocalContentCanAccessRemoteUrls, True)
        default_settings.setAttribute(
            QtWebKit.QWebSettings.LocalStorageEnabled, True)
        default_settings.setAttribute(QtWebKit.QWebSettings.PluginsEnabled,
                                      True)

        # 创建浏览器子窗口
        self.view = QtWebKit.QWebView()

        # 禁用浏览器的右键菜单(利用qwidget自带的方法)
        # self.view.setContextMenuPolicy(Qt.Qt.NoContextMenu)

        # 部分链接会调用外部浏览器打开
        self.page = WebPage()
        self.view.setPage(self.page)

        # 创建开发者工具子窗口
        self.wi = QtWebKit.QWebInspector()
        self.wi.setPage(self.view.page())

        # 加载url
        self.view.load(QtCore.QUrl(url))

        # 处理点击一些链接没有反应的问题
        self.view.page().setLinkDelegationPolicy(
            QtWebKit.QWebPage.DelegateAllLinks)
        self.view.page().linkClicked.connect(self.onLinkClicked)

        layout = QtGui.QVBoxLayout()
        layout.setMargin(0)
        layout.addWidget(self.view)
        layout.addWidget(self.wi)
        self.setLayout(layout)

        self.resize(800, 600)
예제 #7
0
    def __init__(self, parent=None):
        super(App, self).__init__(parent)

        x, y, w, h = 500, 200, 1024, 768
        self.setGeometry(x, y, w, h)
        self.setFixedSize(w, h)

        self.url_lineedit = QtGui.QLineEdit(self)
        self.url_lineedit.setGeometry(0, 0, 900, 22)
        self.connect(self.url_lineedit, QtCore.SIGNAL('returnPressed()'),
                     self.url_returnPressed)

        self.progressbar = QtGui.QProgressBar(self)
        self.progressbar.setGeometry(900, 0, 124, 22)
        self.progressbar.setMinimum(0)
        self.progressbar.setMaximum(100)

        self.webview = QtWebKit.QWebView(self)
        qsettings = self.webview.settings()
        qsettings.setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled,
                               True)

        self.inspector = QtWebKit.QWebInspector(self)
        self.inspector.setPage(self.webview.page())
        self.inspector.setGeometry(0, h - 200, w, 200)
        self.inspector.setVisible(True)

        self.webview.setGeometry(0, 22, w, h - 200)
        self.connect(self.webview, QtCore.SIGNAL("loadStarted()"),
                     self.webview_loadStarted)
        self.connect(self.webview, QtCore.SIGNAL("loadFinished(bool)"),
                     self.webview_loadFinished)
        self.connect(self.webview, QtCore.SIGNAL('loadProgress(int)'),
                     self.webview_loadProgress)

        cache = QtNetwork.QNetworkDiskCache()
        dir = QtGui.QDesktopServices.storageLocation(
            QtGui.QDesktopServices.CacheLocation)
        cache.setCacheDirectory(dir)
        self.am = self.webview.page().networkAccessManager()
        self.am.setCache(cache)

        self.cj = QtNetwork.QNetworkCookieJar()
        self.am.setCookieJar(self.cj)

        self._portal_url = "http://www.baidu.com/"
        self.url_lineedit.setText(self._portal_url)
        self.webview.load(QtCore.QUrl(self._portal_url))

        self.url_lineedit.setFocus()
        self.setup_global_shortcuts()
    def setupWebView(self, url):
        #Create a New Webview
        self.webView = QtWebKit.QWebView()

        #Configures it To Use Javascript, Enable Plugins, Dev Tools Etc ...
        for setting in (
                QtWebKit.QWebSettings.globalSettings().PluginsEnabled,
                QtWebKit.QWebSettings.globalSettings().JavaEnabled,
                QtWebKit.QWebSettings.globalSettings().JavascriptEnabled,
                QtWebKit.QWebSettings.globalSettings().AutoLoadImages,
                QtWebKit.QWebSettings.globalSettings().DeveloperExtrasEnabled,
                QtWebKit.QWebSettings.globalSettings(
                ).AcceleratedCompositingEnabled,
                QtWebKit.QWebSettings.globalSettings().DnsPrefetchEnabled,
                QtWebKit.QWebSettings.globalSettings(
                ).LocalContentCanAccessFileUrls,
                QtWebKit.QWebSettings.globalSettings(
                ).LocalContentCanAccessRemoteUrls,
                QtWebKit.QWebSettings.globalSettings(
                ).OfflineWebApplicationCacheEnabled,
                QtWebKit.QWebSettings.globalSettings().
                JavascriptCanOpenWindows, QtWebKit.QWebSettings.globalSettings(
                ).JavascriptCanAccessClipboard,
                QtWebKit.QWebSettings.globalSettings(
                ).OfflineWebApplicationCacheEnabled,
                QtWebKit.QWebSettings.globalSettings().WebGLEnabled,
                QtWebKit.QWebSettings.globalSettings().PrivateBrowsingEnabled):
            QtWebKit.QWebSettings.globalSettings().setAttribute(setting, True)

        #Splits The Page Preview In 2 Parts And Adds The WebView in The First Part
        self.web_view_splitter = QtGui.QSplitter(self)
        self.web_view_splitter.setOrientation(QtCore.Qt.Vertical)
        self.secondary_splitter.addWidget(self.web_view_splitter)
        self.web_view_splitter.addWidget(self.webView)

        #Creates a Web Inspector From The WebView And Puts It in The Other Part of The Splitter
        self.webInspector = QtWebKit.QWebInspector(self)
        self.webInspector.setPage(self.webView.page())
        self.webInspector.setVisible(True)
        self.web_view_splitter.addWidget(self.webInspector)

        #Load Main Page
        self.webView.load(QtCore.QUrl(url))
예제 #9
0
  def __init__(self):

    super(GMap, self).__init__()

    self.logger = logging.getLogger(__name__)

    if 'northgrum' in socket.getfqdn().split('.'):
      if keyring.get_password("system", getpass.getuser()) is None:
        keyring.set_password("system", getpass.getuser(), getpass.getpass())

      proxy = QtNetwork.QNetworkProxy(QtNetwork.QNetworkProxy.HttpProxy, "centralproxy.northgrum.com", 80)
      proxy.setUser(getpass.getuser())
      self.logger.info('using proxy to access the internet => user: %s, proxy: %s' % (getpass.getuser(), "centralproxy.northgrum.com"))
      proxy.setPassword(keyring.get_password("system", getpass.getuser()))
      QtNetwork.QNetworkProxy.setApplicationProxy(proxy)

    self.splitter = QtGui.QSplitter(self)
    self.splitter.setOrientation(QtCore.Qt.Vertical)

    self.web = QtWebKit.QWebView(self)
    path, file = os.path.split(os.path.realpath(__file__))
    # self.web.load(QtCore.QUrl.fromLocalFile(QtCore.QFileInfo("gmaps.html").absoluteFilePath()))
    self.web.load(QtCore.QUrl.fromLocalFile(os.path.join(path, "gmaps.html")))
    self.layout = QtGui.QVBoxLayout(self)
    # self.layout.addWidget(self.web)
    # self.web.page().mainFrame().setScrollBarPolicy(QtCore.Qt.Vertical, QtCore.Qt.ScrollBarAlwaysOff)
    self.web.page().settings().setAttribute(QtWebKit.QWebSettings.DeveloperExtrasEnabled, True)
    self.webInspector = QtWebKit.QWebInspector(self)
    self.webInspector.setPage(self.web.page())

    # layout = QtGui.QVBoxLayout(self)
    # layout.setMargin(0)
    self.layout.addWidget(self.splitter)

    self.splitter.addWidget(self.web)
    self.splitter.addWidget(self.webInspector)

    shortcut = QtGui.QShortcut(self)
    shortcut.setKey(QtCore.Qt.Key_F12)
    shortcut.activated.connect(self.toggleInspector)
    self.webInspector.setVisible(False)