コード例 #1
0
ファイル: event.py プロジェクト: lastkarrde/QtWebKit-examples
class Event(QWidget):

    def __init__(self, parent=None):
        super(Event, self).__init__(parent)

        self.setWindowTitle('loadFinished Event')


        url = QUrl('https://www.torproject.org/')

        self.webView = QWebView()
        self.webView.setUrl(url)

        page = self.webView.page()
        frame = page.mainFrame()

        frame.loadFinished.connect(self.load_finished)
    

        self.mainLayout = QGridLayout()
        self.mainLayout.addWidget(self.webView)

        self.setLayout(self.mainLayout)


    def load_finished(self):
        print 'load has finished'
コード例 #2
0
ファイル: main.py プロジェクト: gdementen/ashiba
def browse(url, name='', icon=''):
    from PySide.QtGui import QApplication, QIcon
    from PySide.QtCore import QUrl
    from PySide.QtWebKit import QWebView

    for try_ in range(10):
        try:
            assert urllib2.urlopen(url).code == 200
        except (AssertionError, urllib2.URLError):
            time.sleep(0.25)
        else:
            print "Started Qt Web View after %i ticks." % try_
            break
    else:
        sys.exit("Error initializing Qt Web View.")

    qtapp = QApplication(name)
    web = QWebView()
    web.load(QUrl(url))
    if icon:
        print "Setting Icon to", icon
        web.setWindowIcon(QIcon(icon))
    else:
        print "WARNING: No icon found in settings.py"
    web.setWindowTitle(name)
    web.show()
    qtapp.exec_()
コード例 #3
0
ファイル: main.py プロジェクト: tarassh/pyethereum
class HTMLApplication(object):
    def show(self):
        #It is IMPERATIVE that all forward slashes are scrubbed out, otherwise QTWebKit seems to be
        # easily confused
        kickOffHTML = join(
            dirname(__file__).replace('\\', '/'),
            "templates/index.html").replace('\\', '/')

        #This is basically a browser instance
        self.web = QWebView()

        #Unlikely to matter but prefer to be waiting for callback then try to catch
        # it in time.
        self.web.loadFinished.connect(self.onLoad)
        self.web.load(kickOffHTML)

        self.web.show()

    def onLoad(self):
        #This is the body of a web browser tab
        self.myPage = self.web.page()
        self.myPage.settings().setAttribute(
            QWebSettings.DeveloperExtrasEnabled, True)
        #This is the actual context/frame a webpage is running in.
        # Other frames could include iframes or such.
        self.myFrame = self.myPage.mainFrame()
        # ATTENTION here's the magic that sets a bridge between Python to HTML
        self.myFrame.addToJavaScriptWindowObject("eth", self.ethclient)

        #Tell the HTML side, we are open for business
        self.myFrame.evaluateJavaScript("ApplicationIsReady()")
コード例 #4
0
ファイル: br1.py プロジェクト: 1621740748/xspider
class Browser:
    def __init__(self):
        self.network_manager = QNetworkAccessManager()
        self.network_manager.createRequest = self._create_request

        self.web_page = QWebPage()
        self.web_page.setNetworkAccessManager(self.network_manager)

        self.web_view = QWebView()
        self.web_view.setPage(self.web_page)

        self.html_data = None
        self.resultList = []
        self.finished = threading.Event()

    def _create_request(self, operation, request, data):
        reply = QNetworkAccessManager.createRequest(self.network_manager,
                                                    operation, request, data)
        self.resultList.append(request.url().toString())
        return reply

    def myLoadFinish(self):
        #print "finished"
        self.finished.set()

    def getResourceUrlList(self, url):
        self.web_view.load(url)
        self.web_view.loadFinished.connect(self.myLoadFinish)
        self.finished.wait()
        return self.resultList
コード例 #5
0
ファイル: bug_899.py プロジェクト: Hasimir/PySide
    def testBug899(self):
        html = '''
        <html><body>
        <script type="text/javascript">
        document.write("<p>"+py_obj.list1+"</p>")
        document.write("<p>"+py_obj.list2+"</p>")
        </script>
        </body></html>
        '''

        class Obj(object):
            list1 = ['foo', 'bar', 'baz']
            list2 = ['fi', 'fo', 'fum']

        obj = Obj()

        wrapper_dict = {}
        for name in ('list1', 'list2'):
            getter = lambda arg=None, name=name: getattr(obj, name)
            wrapper_dict[name] = Property('QVariantList', getter)
        wrapper = type('PyObj', (QObject,), wrapper_dict)

        view = QWebView()
        view.page().mainFrame().addToJavaScriptWindowObject('py_obj', wrapper())
        view.setHtml(html)
コード例 #6
0
ファイル: main.py プロジェクト: Bitcoinzie/pyethereum
class HTMLApplication(object):

    def show(self):
        #It is IMPERATIVE that all forward slashes are scrubbed out, otherwise QTWebKit seems to be
        # easily confused
        kickOffHTML = join(dirname(__file__).replace('\\', '/'), "templates/index.html").replace('\\', '/')

        #This is basically a browser instance
        self.web = QWebView()

        #Unlikely to matter but prefer to be waiting for callback then try to catch
        # it in time.
        self.web.loadFinished.connect(self.onLoad)
        self.web.load(kickOffHTML)

        self.web.show()

    def onLoad(self):
        #This is the body of a web browser tab
        self.myPage = self.web.page()
        self.myPage.settings().setAttribute(QWebSettings.DeveloperExtrasEnabled, True)
        #This is the actual context/frame a webpage is running in.
        # Other frames could include iframes or such.
        self.myFrame = self.myPage.mainFrame()
        # ATTENTION here's the magic that sets a bridge between Python to HTML
        self.myFrame.addToJavaScriptWindowObject("eth", self.ethclient)

        #Tell the HTML side, we are open for business
        self.myFrame.evaluateJavaScript("ApplicationIsReady()")
コード例 #7
0
ファイル: text.py プロジェクト: Xifax/tuci
    def __init__(self, parent=None):
        super(Text, self).__init__(parent)

        # Sentence view
        self.view, self.page = QWebView(), QWebPage()
        self.view.setPage(self.page)
        # TODO: update dynamically on parent widget resize events (somehow?)
        self.view.setMinimumSize(parent.width(), parent.height() / 2)

        # Info view
        self.infoView, self.infoPage = QWebView(), QWebPage()
        self.infoView.setPage(self.infoPage)
        self.infoView.setMaximumSize(parent.width() / 2, parent.height())

        # Active terms and sentence
        self.terms, self.example = {}, u''
        # Default style
        self.css = 'solarized-light'

        # Composition
        self.compose({QHBoxLayout(): [self.infoView, self.view]})

        # Initialize events
        self.page.linkHovered.connect(self.showInfo)
        self.page.setLinkDelegationPolicy(QWebPage.DelegateExternalLinks)
        self.page.linkClicked.connect(self.queryServer)

        # Initialize style
        self.clearPages()
コード例 #8
0
ファイル: webkit_render.py プロジェクト: mk-z/windbg
def webkit_download(url):
    app = QApplication([])
    webview = QWebView()
    webview.loadFinished.connect(app.quit)
    webview.load(url)
    app.exec_() # delay here until download finished
    return webview.page().mainFrame().toHtml()
コード例 #9
0
ファイル: ptwebview.py プロジェクト: ptphp/PtPy
    def __init__(self, parent=None, userData=None,inspector = True):
        QWebView.__init__(self, parent)  

        settings = QWebSettings.globalSettings()
        settings.setFontFamily(QWebSettings.StandardFont, 'Helvetica')
        settings.setFontSize(QWebSettings.DefaultFontSize, 12)

        self.webpage = page = PtWebPage(self)        
        self.setPage(page) 
        self.connect(self, SIGNAL('loadFinished(bool)'), self.onLoadFinished)
        self.settings().setAttribute(
                    QWebSettings.WebAttribute.DeveloperExtrasEnabled, True)
        #path = os.getcwd()
        #self.settings().setUserStyleSheetUrl(QUrl.fromLocalFile(path + "/myCustom.css"))

        font = QFont("Helvetica")
        font.setPixelSize(12)
        self.setFont(font)
        # or globally:
        # QWebSettings.globalSettings().setAttribute(
        #     QWebSettings.WebAttribute.DeveloperExtrasEnabled, True)
        if inspector:
            self.inspector = QWebInspector()
            self.inspector.setPage(self.page())
            self.inspector.hide()

        self.page().setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
        self.page().linkClicked.connect(self._on_page_link_clicked)
コード例 #10
0
ファイル: main.py プロジェクト: leotrubach/klubassistant
class AssistantWindow(QtGui.QDialog):
    def __init__(self, *args, **kwargs):
        super(AssistantWindow, self).__init__(*args, **kwargs)
        self.smap = QWebView()
        self.lattitude = QtGui.QLineEdit()
        self.longitude = QtGui.QLineEdit()
        self.get_map_button = QtGui.QPushButton('Get map')
        self.get_map_button.clicked.connect(self.get_map)
        self.zoom_level = QtGui.QLineEdit()
        self.zoom_level.setText('18')
        self.flayout = QtGui.QFormLayout()
        self.setLayout(self.flayout)
        self.flayout.addRow('Lattitude:', self.lattitude)
        self.flayout.addRow('Longitude:', self.longitude)
        self.flayout.addRow('Zoom level:', self.zoom_level)
        self.flayout.addRow(self.get_map_button)
        self.flayout.addRow(self.smap)
    
    def get_map(self):
        lt = int(self.lattitude.text())
        ln = int(self.longitude.text())
        lt_g = coord_conv(lt)
        ln_g = coord_conv(ln)
        url = (ST_MAPS_API + 'center=%s,%s' % (lt_g, ln_g) + 
               '&zoom=%s' % self.zoom_level.text() + 
               '&size=400x400&sensor=false&maptype=hybrid' + 
               '&markers=%s,%s' % (lt_g, ln_g))
        self.smap.load(url)
コード例 #11
0
 def setUp(self):
     #Acquire resources
     TimedQApplication.setUp(self, timeout=1000)
     self.view = QWebView()
     QObject.connect(self.view, SIGNAL('loadFinished(bool)'),
                     self.load_finished)
     self.called = False
コード例 #12
0
def webkit_download(url):
    app = QApplication([])
    webview = QWebView()
    webview.loadFinished.connect(app.quit)
    webview.load(url)
    app.exec_()  # delay here until download finished
    return webview.page().mainFrame().toHtml()
コード例 #13
0
class BaseWindow(QtGui.QMainWindow):
    def __init__(self, parent = None):
        QtGui.QMainWindow.__init__(self, parent)
        self.centralWidget = QtGui.QWidget()
        self.resize(800, 500)
        self.setWindowTitle('Test')
        self.tabs = QTabWidget()

        self.tabs.blockSignals(True) #just for not showing the initial message
        self.tabs.currentChanged.connect(self.onChange) #changed!


        self.webview = QWebView()
        self.webview.load(QUrl("http://gmx.de"))

        self.webview2 = QWebView()
        self.webview2.load(QUrl("http://web.de"))

        centralLayout = QtGui.QVBoxLayout()
        centralLayout.addWidget(self.tabs, 1)

        self.tabs.addTab(self.webview, "gmx")
        self.tabs.addTab(self.webview2, "web")
        self.centralWidget.setLayout(centralLayout)

        self.setCentralWidget(self.centralWidget)

        self.tabs.blockSignals(False) #now listen the currentChanged signal


    #@pyqtSlot()
    def onChange(self,i): #changed!
        QtGui.QMessageBox.information(self,
                  "Tab Index Changed!",
                  "Current Tab Index: %d" % i ) #changed!
コード例 #14
0
class webView():
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(400, 600)
        MainWindow.setMinimumSize(QtCore.QSize(400, 600))
        MainWindow.setMaximumSize(QtCore.QSize(400, 600))
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_2 = QtGui.QGridLayout(self.centralwidget)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.gridLayout = QtGui.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.webView = QWebView(self.centralwidget)
        self.webView.setUrl(QtCore.QUrl("about:blank"))
        self.webView.setObjectName("webView")
        self.gridLayout.addWidget(self.webView, 0, 0, 1, 1)
        self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 300, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
コード例 #15
0
ファイル: ReportDet.py プロジェクト: langqy/OrcTestToolsKit
    def __init__(self):

        QWidget.__init__(self)

        self.title = "报告"

        self.__path = None
        self.__service = ReportDetService()

        # report view
        self.__wid_display = QWebView()

        # buttons
        _wid_buttons = ViewButtons(
            [dict(id="refresh", name=u'更新'),
             dict(id="export", name=u'导出')])
        _wid_buttons.align_back()

        # main layout
        _layout = QVBoxLayout()
        _layout.addWidget(self.__wid_display)
        _layout.addWidget(_wid_buttons)

        self.setLayout(_layout)

        _layout.setContentsMargins(0, 0, 0, 0)
コード例 #16
0
ファイル: text.py プロジェクト: Xifax/tuci
    def __init__(self, parent=None):
        super(Text, self).__init__(parent)

        # Sentence view
        self.view, self.page = QWebView(), QWebPage()
        self.view.setPage(self.page)
        # TODO: update dynamically on parent widget resize events (somehow?)
        self.view.setMinimumSize(parent.width(), parent.height() / 2)

        # Info view
        self.infoView, self.infoPage = QWebView(), QWebPage()
        self.infoView.setPage(self.infoPage)
        self.infoView.setMaximumSize(parent.width() / 2, parent.height())

        # Active terms and sentence
        self.terms, self.example = {}, u''
        # Default style
        self.css = 'solarized-light'

        # Composition
        self.compose({
            QHBoxLayout(): [self.infoView, self.view]
        })

        # Initialize events
        self.page.linkHovered.connect(self.showInfo)
        self.page.setLinkDelegationPolicy(QWebPage.DelegateExternalLinks)
        self.page.linkClicked.connect(self.queryServer)

        # Initialize style
        self.clearPages()
コード例 #17
0
ファイル: pages.py プロジェクト: cefolger/favorites
class HtmlFavoritePage():
    def __init__(self, page, layout, parent):
        self.page = page
        self.parent = parent
        
        container = QVBoxLayout()
        # actions section
        actionsContainer = QHBoxLayout()
        
        self.saveButton = QPushButton('Save')
        self.saveButton.clicked.connect(lambda: save_clicked(self))
                
        actionsContainer.addWidget(QLabel('Link: '))
        self.linkText = QLineEdit(page.url)
        
        label = QLabel('<a href="' + page.url + '">Open Externally</a>')
        label.setOpenExternalLinks(True)
        
        actionsContainer.addWidget(self.linkText)
        actionsContainer.addWidget(self.saveButton)
        actionsContainer.addWidget(label)
        container.addLayout(actionsContainer)
        
        # content 
        self.view = QWebView()
        self.view.setUrl(page.url)
        container.addWidget(self.view)
        layout.addLayout(container)        
コード例 #18
0
ファイル: browserrender.py プロジェクト: HussainAther/scrape
 def __init__(self, display=True):
     """
     Initialize the display with the app.
     """
     self.app = QApplication([])
     QWebView.__init__(self)
     if display:
         self.show()  # show the browser
コード例 #19
0
ファイル: qtplayer.py プロジェクト: Rougnt/VNR-Core
 def webView(self):
     if not self._webView:
         dprint("create web view")
         from PySide.QtWebKit import QWebView
         self._webView = QWebView(self.parent)
         update_web_settings(self._webView.settings())
         self._webView.resize(0, 0)  # zero size
     return self._webView
コード例 #20
0
    def __init__(self, fn):
        QWebView.__init__(self)

        if fn:
            self.load_file(fn)

        self.setTextSizeMultiplier(Previwer.DEFAULE_TEXT_MULTIPLIER)
        self.__set_shortcut()
コード例 #21
0
ファイル: _base.py プロジェクト: qwert42/createfile
    def _show_timeline(self, start_time_attr, display_abnormal_source=True):
        conclusions = set()
        for _, row in self.entries.iterrows():
            for c in row.conclusions:
                conclusions.add(c)

        conclusions = list(conclusions)
        conclusions.append('无可用结论')

        groups, c_id = [], {}
        for i, c in enumerate(conclusions):
            groups.append({'id': i, 'content': c})
            c_id[c] = i

        def _gen_item(item, group_id=len(conclusions) - 1):
            content = '#%s' % item.id
            if display_abnormal_source:
                if item.abnormal_src:
                    content += '<br />%s' % ', '.join(item.abnormal_src)

            _ = {'start': item[start_time_attr].timestamp() * 1000,
                 'content': content,
                 'group': group_id}

            if item.abnormal:
                _['className'] = 'red'

            return _

        items = []
        for i, (_t, item) in enumerate(self.entries.iterrows()):
            if item.conclusions:
                for c in item.conclusions:
                    _ = _gen_item(item, c_id[c])
                    items.append(_)
            else:
                _ = _gen_item(item)
                items.append(_)


        html = self.timeline_template.render(
            groups=groups,
            items=items,
            start=self.summary_widget.start_time.timestamp() * 1000,
            end=self.summary_widget.end_time.timestamp() * 1000
        )

        if self.USE_QT_WEBKIT:
            view = QWebView(self)
            view.setHtml(html, self.timeline_base_url)
            self.figures_widget.addTab(view, '时间线')
        else:
            info_box(self, '将会打开外部浏览器查看时间线')

            path = os.path.join(self.template_path, 'r.html')
            print(html, file=open(path, 'w', encoding='utf-8'))
            webbrowser.open(QUrl.fromLocalFile(path).toString())
コード例 #22
0
def displayHtml(parent, title, html):
    win = QtGui.QDialog(parent)
    win.setWindowTitle(title)
    layout = QtGui.QVBoxLayout()
    win.setLayout(layout)
    view = QWebView()
    view.setHtml(html)
    layout.addWidget(view)
    win.show()
コード例 #23
0
ファイル: xlfview.py プロジェクト: yashodhank/xiboside
 def __init__(self, media, parent):
     super(WebMediaView, self).__init__(media, parent)
     self._widget = QWebView(parent)
     self._widget.setGeometry(media['_geometry'])
     self.set_default_widget_prop()
     self._widget.setDisabled(True)
     self._widget.page().mainFrame().setScrollBarPolicy(
         Qt.Vertical, Qt.ScrollBarAlwaysOff)
     self._widget.page().mainFrame().setScrollBarPolicy(
         Qt.Horizontal, Qt.ScrollBarAlwaysOff)
コード例 #24
0
 def createInstance(self):
     global functionID
     self._view = QWebView()
     self._jsfuncs = JSFuncs()
     functionID = -1
     self._view.page().mainFrame().addToJavaScriptWindowObject(
         "jsfuncs", self._jsfuncs)
     self._view.loadFinished[bool].connect(self.onLoadFinished)
     self._view.load(PAGE_DATA % FUNCTIONS_LIST[self._functionID])
     self._view.show()
コード例 #25
0
 def __init__(self, app):
     self.network_manager = QNetworkAccessManager()
     self.network_manager.createRequest = self._create_request
     self.web_page = QWebPage()
     self.web_page.setNetworkAccessManager(self.network_manager)
     self.web_view = QWebView()
     self.web_view.setPage(self.web_page)
     self.html_data = None
     self.app = app
     self.finished = threading.Event()
コード例 #26
0
ファイル: t1.py プロジェクト: zjx4041739/dlp
    def __init__(self):
        self.network_manager = QNetworkAccessManager()
        self.network_manager.createRequest = self._create_request
        self.network_manager.finished.connect(self._request_finished)

        self.web_page = QWebPage()
        self.web_page.setNetworkAccessManager(self.network_manager)

        self.web_view = QWebView()
        self.web_view.setPage(self.web_page)
コード例 #27
0
ファイル: qttut01.py プロジェクト: godber/path-of-a-pyqter
    def __init__(self, app):
        QWebView.__init__(self)

        # By storing a reference to the application which started this
        # instance, we will be able to close the application once we get what
        # we want
        self.parent_app = app

        # connect the loadFinished signal to a method defined by us.
        # loadFinished is the signal which is triggered when a page is loaded
        self.loadFinished.connect(self._load_finished)
コード例 #28
0
ファイル: QtWeb.py プロジェクト: olafura/hwidgets
    def show(self):
        self.battery = Battery()
        self.wifi = Wifi()
        self.url = QUrl("qt.html")

        self.web = QWebView()

        self.web.loadFinished.connect(self.onLoad)
        self.web.load(self.url)

        self.web.show()
コード例 #29
0
ファイル: googletts.py プロジェクト: Rougnt/VNR-Core
    def test_qt():
        a = QApplication(sys.argv)
        w = QWebView()
        w.show()

        g = GoogleTtsPlayer('qt')
        g.setParentWidget(w)
        QTimer.singleShot(1000, lambda: g.speak(q, language='ja'))

        ret = a.exec_()
        print "leave: ret = %i" % ret
コード例 #30
0
ファイル: ConfigServer.py プロジェクト: icea-dev/iamod-server
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)

        #Validators for data input
        ipRange = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"
        ipRegex = QRegExp("^" + ipRange + "\\." + ipRange + "\\." + ipRange +
                          "\\." + ipRange + "$")
        ipValidator = QRegExpValidator(self.leGraylogIP)
        ipValidator.setRegExp(ipRegex)
        self.leGraylogIP.setValidator(ipValidator)
        self.leGraylogPort.setValidator(QIntValidator(1, 65535))
        self.leGraylogHttpPort.setValidator(QIntValidator(1, 65535))

        ipValidator = QRegExpValidator(self.leAsterixIP)
        ipValidator.setRegExp(ipRegex)
        self.leAsterixIP.setValidator(ipValidator)
        self.leAsterixPort.setValidator(QIntValidator(1, 65535))
        self.leAsterixSic.setValidator(QIntValidator(1, 256))

        self.leIamodPort.setValidator(QIntValidator(1, 65535))
        self.leIamodThreshold.setValidator(QIntValidator(0, 99999))

        #Define functions for GUI actions
        self.pbStart.clicked.connect(self.__startServer)
        self.pbStop.clicked.connect(self.__stopServer)
        self.actionLicense.triggered.connect(self.__license)
        self.actionLoad_Config_File.triggered.connect(self.__dialogConfigFile)

        self.pbSaveConfiguration.clicked.connect(self.__writeConfigFile)
        self.pbStart.setEnabled(False)

        if self.__checkServerIsRunning():
            self.__serverStatusImage(True)
        else:
            self.__serverStatusImage(False)

        self.configFile = ConfigParser.ConfigParser()

        self.view = QWebView()
        self.webLayout.addWidget(self.view)

        self.view.settings().setAttribute(
            QWebSettings.JavascriptCanOpenWindows, True)
        self.view.settings().setAttribute(QWebSettings.LocalStorageEnabled,
                                          True)

        self.pbConnect.clicked.connect(self.__connectHttpServer)

        l = QVBoxLayout(self.tab2)
        sc = StaticCanvas(self.tab2, width=5, height=4, dpi=100)
        dc = DynamicCanvas(self.tab2, width=5, height=4, dpi=100)
        l.addWidget(sc)
        l.addWidget(dc)
コード例 #31
0
ファイル: HelpForm.py プロジェクト: ra2003/xindex
    def createWidgets(self):
        self.backButton = QToolButton()
        self.backButton.setIcon(QIcon(":/go-back.svg"))
        self.backButton.setText("&Back")
        self.backButton.setToolTip("""\
<p><b>Back</b> ({})</p>
<p>Navigate to the previous page.</p>""".format(
            QKeySequence("Alt+Left").toString()))
        self.forwardButton = QToolButton()
        self.forwardButton.setIcon(QIcon(":/go-forward.svg"))
        self.forwardButton.setText("&Forward")
        self.forwardButton.setToolTip("""\
<p><b>Forward</b> ({})</p>
<p>Navigate to the page you've just come back from.</p>""".format(
            QKeySequence("Alt+Right").toString()))
        self.contentsButton = QToolButton()
        self.contentsButton.setIcon(QIcon(":/go-home.svg"))
        self.contentsButton.setText("&Contents")
        self.contentsButton.setToolTip("""\
<p><b>Contents</b> ({})</p>
<p>Navigate to the contents page.</p>""".format(
            QKeySequence("Alt+Home").toString()))
        self.searchLineEdit = Widgets.LegendLineEdit.LineEdit(
            "Search (F3 or Ctrl+F)")
        self.searchLineEdit.setToolTip("""\
<p><b>Search editor</p>
<p>Type in a word to search for in the online help pages and press
<b>Enter</b> or <b>F3</b> to search.</p>""")
        self.zoomInButton = QToolButton()
        self.zoomInButton.setIcon(QIcon(":/zoomin.svg"))
        self.zoomInButton.setText("&Zoom In")
        self.zoomInButton.setToolTip("""\
<p><b>Zoom In</b> ({})</p>
<p>Make the text bigger.</p>""".format(
            QKeySequence("Alt++").toString()))
        self.zoomOutButton = QToolButton()
        self.zoomOutButton.setIcon(QIcon(":/zoomout.svg"))
        self.zoomOutButton.setText("Zoom &Out")
        self.zoomOutButton.setToolTip("""\
<p><b>Zoom Out</b> ({})</p>
<p>Make the text smaller.</p>""".format(
            QKeySequence("Alt+-").toString()))
        width = self.fontMetrics().width(self.zoomOutButton.text() + " ")
        for button in (self.backButton, self.forwardButton,
                       self.contentsButton, self.zoomInButton,
                       self.zoomOutButton):
            button.setToolButtonStyle(Qt.ToolButtonTextUnderIcon)
            button.setMinimumWidth(width)
            button.setFocusPolicy(Qt.NoFocus)
        self.browser = QWebView()
        page = self.browser.page()
        page.setLinkDelegationPolicy(QWebPage.DelegateAllLinks)
        if self.debug:
            self.urlLabel = QLabel()
コード例 #32
0
ファイル: webkit.py プロジェクト: tjardick/monitoring_browser
  def __init__(self):
    super(Browser, self).__init__()

    self.layout    = QStackedLayout(self)
    self.frontView = QWebView(self)
    self.backView  = QWebView(self)

    self.frontView.page().networkAccessManager().sslErrors.connect(self.onSslErrors)
    self.backView.page().networkAccessManager().sslErrors.connect(self.onSslErrors)

    self.hostname  = os.uname()[1]

    self.layout.setStackingMode(QStackedLayout.StackAll)
    self.layout.addWidget(self.frontView)
    self.layout.addWidget(self.backView)

    self.commands = {
      'help'          : self.cmdHelp,
      'refresh'       : self.cmdRefresh,
      'add'           : self.cmdAdd,
      'del'           : self.cmdDel,
      'list'          : self.cmdList,
      'zoom'          : self.cmdZoom,
      'fs'            : self.cmdFs,
      'exit'          : self.cmdExit,
      'next'          : self.cmdNext,
      'restart'       : self.cmdRestart,
      'upgrade'       : self.cmdUpgrade,
    }

    self.timer = QTimer()
    self.timer.setSingleShot(False)

    self.sites = list()
    self.siteId = -1

    self.socket = False

    url = QUrl("http://dmr.tokiogroup.com/rrs.php")
    self.sites.append(Site(url, 10, 1))

    url = QUrl("http://dmr.tokiogroup.com/lastheard.php")
    self.sites.append(Site(url, 10, 1))

    self.server = QTcpServer()
    self.server.listen(QHostAddress.Any, 4242)

    self.connect(self.server,     SIGNAL("newConnection()"),    self, SLOT("onConnection()"));
    self.connect(self.timer,      SIGNAL("timeout()"),          self, SLOT("goNext()"));

    self.goNext()
    self.goNext()
コード例 #33
0
ファイル: main.py プロジェクト: eivind88/raskolnikov-browser
    def new_tab(self):
        """Open new tab."""
        tasklist = QTreeView()
        tasklist.hide()
        tasklist.setObjectName('taskList')
        tasklist.setMinimumWidth(100)
        tasklist.setMaximumWidth(250)

        new_tab = QWebView()
        new_tab.setObjectName('webView')

        inspector = QWebInspector(self)
        inspector.setObjectName('webInspector')
        inspector.hide()

        page_layout = QVBoxLayout()
        page_layout.setSpacing(0)
        page_layout.setContentsMargins(0, 0, 0, 0)
        page_layout.addWidget(new_tab)
        page_layout.addWidget(inspector)
        page_widget = QFrame()
        page_widget.setObjectName('pageWidget')
        page_widget.setLayout(page_layout)

        complete_tab_layout = QHBoxLayout()
        complete_tab_layout.setSpacing(0)
        complete_tab_layout.setContentsMargins(0, 0, 0, 0)
        complete_tab_layout.addWidget(tasklist)
        complete_tab_layout.addWidget(page_widget)
        complete_tab_widget = QFrame()
        complete_tab_widget.setLayout(complete_tab_layout)

        new_tab.load(QUrl(self.startpage))
        self.tabs.setUpdatesEnabled(False)
        if self.new_tab_behavior == "insert":
            self.tabs.insertTab(self.tabs.currentIndex()+1, complete_tab_widget,
                                    unicode(new_tab.title()))
        elif self.new_tab_behavior == "append":
            self.tabs.appendTab(complete_tab_widget, unicode(new_tab.title()))
        self.tabs.setCurrentWidget(complete_tab_widget)
        self.tabs.setTabText(self.tabs.currentIndex(),
                             unicode(self.tabs.currentWidget().findChild(QFrame, unicode('pageWidget')).findChild(QWebView, unicode('webView')).title()))
        self.tabs.setUpdatesEnabled(True)
        # tab.page().mainFrame().setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff)
        # tab.page().mainFrame().setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff)
        new_tab.titleChanged.connect(self.change_tab)
        new_tab.urlChanged.connect(self.change_tab)
        new_tab.loadStarted.connect(self.load_start)
        new_tab.loadFinished.connect(self.load_finish)
        new_tab.loadProgress.connect(self.pbar.setValue)
        new_tab.page().linkHovered.connect(self.linkHover)
        inspector.setPage(new_tab.page())
コード例 #34
0
 def about_license(self):
     try:
         f = open(get_file("GNU_HTML"))
         license = QtGui.QDialog()
         license.resize(650, 480)
         license.setWindowTitle("SynchroniZeRD License")
         licenseText = QWebView()
         licenseText.setHtml(f.read())
         layout = QtGui.QGridLayout(license)
         layout.addWidget(licenseText)
         license.exec_()
     except:
         QMessageBox.critical(self, "Error", "Unable to open GNU_HTML License file.")
コード例 #35
0
ファイル: client.py プロジェクト: SetSplin/DigitalLibrary
class Browser(QObject):
	# pylint: disable=too-many-public-methods

	__execute_script_called = Signal(str)

	def __init__(self):
		super().__init__()

		self.app = QApplication([])

		self.webview = QWebView()
		self.webview.setAttribute(Qt.WA_DeleteOnClose)
		self.webview.destroyed.connect(self.app.quit)

		self.__execute_script_called.connect(self.__execute_script)

	def __execute_script(self, javascript_code: str):
		assert current_thread_is_main()
		self.webview.page().mainFrame().evaluateJavaScript(javascript_code)

	def execute_script(self, javascript_code: str):
		if current_thread_is_main():
			self.__execute_script(javascript_code)
		else:
			self.__execute_script_called.emit(javascript_code)

	def run(self, url):
		assert current_thread_is_main()
		self.webview.showFullScreen()
		self.webview.load(url)
		self.app.exec_()
コード例 #36
0
 def __init__(self):
     super(WebWindow,self).__init__()
     Loader = QUiLoader()
     
     uiFile = QFile("C:/Qt/Qt5.0.1/Tools/QtCreator/bin/ScriptAnalyzerNew/webview.ui")
     uiFile.open(QFile.ReadOnly)
     
     self.mainWindow = Loader.load(uiFile)
     
     WebV = QWebView()
     layout = QVBoxLayout()
     layout.addWidget(WebV)
     self.mainWindow.webW.setLayout(layout)   
     WebV.load(QUrl("file:///C:/Users/Administrator/Desktop/demo.html"))
コード例 #37
0
ファイル: test_browser.py プロジェクト: juanchitot/jaimeboot
class Robot(object):
    
    def __init__(self):
        self.view = QWebView() 
        self.page = self.view.page()
        
    def start(self):
        self.view.show()
        QtCore.QObject.connect(self.view, 
                               QtCore.SIGNAL("loadFinished(bool)"), 
                               self.loaded)                            
        self.view.load(QUrl('https://login.yahoo.com/config/login_verify2?&.src=ym'))
    
    def loaded(self):
        url = self.view.url().toString()
        self.view.show()
        print "Loading %s finished" % url
        
        frame = self.page.mainFrame()
        els = frame.findAllElements("a[id*='copyright']")
        for i in range(els.count()):
            print 'Plain Text [%s]' %  els.at(i).toPlainText().encode('utf8','ignore')
            print 'inner xml  %s' % els.at(i).toInnerXml()
            child_els = els.at(i).findAll('*')
            for j in range(child_els.count()):
                print 'childs inner xml [%s] ' % child_els.at(j).toInnerXml()
コード例 #38
0
ファイル: bug_959.py プロジェクト: pymor/pyside_wheelbuilder
def createWebView( nIndex ):
    global functionID
    global currentWebView

    functionID = nIndex
    currentWebView = QWebView()
    currentWebView._jsfuncs = JSFuncs()
    currentWebView.page().mainFrame().addToJavaScriptWindowObject("jsfuncs", currentWebView._jsfuncs)
    QObject.connect( currentWebView, QtCore.SIGNAL('loadFinished( bool )'), onLoadFinished )
    currentWebView.load(PAGE_DATA % FUNCTIONS_LIST[ nIndex ])
    currentWebView.show()
コード例 #39
0
    def __init__(self, path, parent=None, encoding='utf8'):
        QWebView.__init__(self, parent)
        self.path = path
        self.encoding = encoding
        self.__watcher = QFileSystemWatcher(self)

        self.__watcher.fileChanged.connect(self.loadFile)
        self.__watcher.directoryChanged.connect(self.loadFile)

        self.__watcher.addPath(self.path)
        self.__watcher.addPath(QFileInfo(self.path).path())

        self.setWindowTitle(self.path)

        self.loadFile()
コード例 #40
0
ファイル: Browser_UI_2016.py プロジェクト: NMVHS/mayaScripts
    def setupUi(self, Dialog):
        Dialog.setObjectName(_fromUtf8("Dialog"))
        Dialog.resize(804, 604)
        self.layout = QVBoxLayout(Dialog)
        self.qwebview = QWebView(Dialog)
        self.qwebview.setGeometry(QtCore.QRect(0, 50, 800, 600))
        self.qwebview.setObjectName(_fromUtf8("kwebview"))
        self.lineEdit = QtGui.QLineEdit(Dialog)
        self.lineEdit.setGeometry(QtCore.QRect(10, 20, 790, 25))
        self.lineEdit.setObjectName(_fromUtf8("lineEdit"))
        self.layout.addWidget(self.lineEdit)
        self.layout.addWidget(self.qwebview)

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
コード例 #41
0
ファイル: main.py プロジェクト: tarassh/pyethereum
    def show(self):
        #It is IMPERATIVE that all forward slashes are scrubbed out, otherwise QTWebKit seems to be
        # easily confused
        kickOffHTML = join(
            dirname(__file__).replace('\\', '/'),
            "templates/index.html").replace('\\', '/')

        #This is basically a browser instance
        self.web = QWebView()

        #Unlikely to matter but prefer to be waiting for callback then try to catch
        # it in time.
        self.web.loadFinished.connect(self.onLoad)
        self.web.load(kickOffHTML)

        self.web.show()
コード例 #42
0
ファイル: PySearchxat.py プロジェクト: srosito/PySearchxat
    def initUI(self):

        # Plugin
        QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, True)

        self.b = QWebView()

        PGrupo = None
        PID = None

        Pregunta = input("Elige [ ID ] o [ GRUPO ] (Respeta mayúsculas) : ")
        if Pregunta == "GRUPO":
            clear()
            PGrupo = input("Escribe el nombre del [ GRUPO ] : ")
            self.b.load(QUrl("http://xat.com/"+PGrupo))

        elif Pregunta == "ID":
            clear()
            PID = int(input("Escribe la [ID] : "))
            self.b.load(QUrl("http://xat.com/web_gear?id="+PID))

        else:
            print("Asi no idiota")
            return self.initUI()

        self.b.setWindowTitle('SearchXat')

        #               Icon
        #self.b.setWindowIcon(QtGui.QIcon('icon.png'))

        self.b.show()
コード例 #43
0
ファイル: jaime.py プロジェクト: juanchitot/jaimeboot
 def __init__(self):
     if Jaime.instance:
         raise Exception("Can't call to constructor with another instance created")
     
     self.tabs_widget = QTabWidget()
     self.view = QWebView()
     self.page = QWebPage()
     self.config = SafeConfigParser()        
     Logger.getLoggerFor(self.__class__)
     
     self.tabs_widget.insertTab(0,self.view,'label')
     self.tabs = {}        
     
     self.graph_file = None
     
     self.close_tab_timer = QTimer()
     self.close_tab_timer.setSingleShot(False)
     #cada 30 segundos se cierra un tab
     self.close_tab_timer.setInterval(10000)
     self.view.setPage(self.page)
     self.tabs['mainTab'] = self.view
     
     self.network_manager = CustomNetworkAccessManager.getInstance()        
     self.navigator = Navigator.getInstance()
     self.route_node = YahooRouteNode.getInstance()
     self.graph_parser = GraphParser.getInstance()        
     self.page.setNetworkAccessManager(self.network_manager)
コード例 #44
0
ファイル: webview_test.py プロジェクト: Hasimir/PySide
 def setUp(self):
     #Acquire resources
     TimedQApplication.setUp(self, timeout=1000)
     self.view = QWebView()
     QObject.connect(self.view, SIGNAL('loadFinished(bool)'),
                     self.load_finished)
     self.called = False
コード例 #45
0
ファイル: html_editor.py プロジェクト: davidmorrill/facets
        def event ( self, event ):
            """ Handles an event for the object.
            """
            if event.type() in ClickEvents:
                self._editor.middle_button = (event.button() == Qt.MidButton)

            return QWebView.event( self, event )
コード例 #46
0
ファイル: main.py プロジェクト: tryanaditya/mainmain
def main():

    app = QApplication([])

    view = QWebView()
    fac = PluginFactory()
    view.page().setPluginFactory(fac)
    QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled,
                                               True)

    view.load(QUrl(sys.argv[1]))

    view.resize(840, 600)
    view.show()

    return app.exec_()
コード例 #47
0
ファイル: map.py プロジェクト: lastkarrde/QtWebKit-examples
    def __init__(self, parent=None):
        # call QWidget's __init__
        super(MapApp, self).__init__(parent)

        self.setWindowTitle("Map Application")

        f = open("map.html", "r")
        html = f.read()
        f.close()

        # declare our QWebView and set the URL to the source of the map.html file.
        # we must also set a URL (which QtWebKit will use if we ask for the URL of the page)
        self.webView = QWebView()
        self.webView.setHtml(html, baseUrl=QUrl("http://local"))
        self.webView.show()

        self.location = QLineEdit()
        self.go = QPushButton("Find this location")

        self.go.clicked.connect(self.findLocation)

        # set up our layout and add the instance of the QWebView
        self.mainLayout = QGridLayout()
        self.mainLayout.addWidget(self.location)
        self.mainLayout.addWidget(self.go)
        self.mainLayout.addWidget(self.webView)

        self.setLayout(self.mainLayout)
コード例 #48
0
ファイル: login.py プロジェクト: rohtau/dotStudio
    def __init__(self, authorize_url):
        """
        Custom Webview widget to handle authentication of an authorisation url.
        authorize_url is string returned via flow_from_clientsecrets.step1_get_authorize_url object

        If Authorization is successful, returns an access code required for step2 of oauth flow object
        """

        QWebView.__init__(self)
        self.URL = QUrl.fromPercentEncoding(str(authorize_url))
        self.setUrl(self.URL)

        self.titleChanged.connect(self.handleTitleChange)

        self.load(self.URL)

        self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.Popup)
コード例 #49
0
ファイル: xlfview.py プロジェクト: ajiwo/xiboside
 def __init__(self, media, parent):
     super(WebMediaView, self).__init__(media, parent)
     self._widget = QWebView(parent)
     self._widget.setGeometry(media['_geometry'])
     self.set_default_widget_prop()
     self._widget.setDisabled(True)
     self._widget.page().mainFrame().setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff)
     self._widget.page().mainFrame().setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff)
コード例 #50
0
    def webView(self):
        if self._webView is None:
            self._webView = QWebView()
            #Hook up our webView to UI, log, etc.
        self.connect(self._webView.page(), SIGNAL("unsupportedContent(QNetworkReply*)"), self.webPageError)
        self.connect(self._webView, SIGNAL("statusBarMessage(QString)"), self.updateStatusBar)

        return self._webView
コード例 #51
0
ファイル: login.py プロジェクト: Aeium/dotStudio
    def __init__(self, authorize_url):
        """
        Custom Webview widget to handle authentication of an authorisation url.
        authorize_url is string returned via flow_from_clientsecrets.step1_get_authorize_url object

        If Authorization is successful, returns an access code required for step2 of oauth flow object
        """

        QWebView.__init__(self)
        self.URL = QUrl.fromPercentEncoding(str(authorize_url))
        self.setUrl(self.URL)

        self.titleChanged.connect(self.handleTitleChange)

        self.load(self.URL)

        self.setWindowFlags(Qt.WindowStaysOnTopHint | Qt.Popup)
コード例 #52
0
def get_site_text(url='https://test.api.unistream.com/help/index.html'):
    """Функция возвращает содержимое по указанному url."""

    import sys

    from PySide.QtGui import QApplication
    from PySide.QtCore import QEventLoop
    from PySide.QtWebKit import QWebSettings, QWebPage, QWebView
    from PySide.QtNetwork import QNetworkProxyFactory

    # Чтобы не было проблем запуска компов с прокси:
    QNetworkProxyFactory.setUseSystemConfiguration(True)

    QWebSettings.globalSettings().setAttribute(
        QWebSettings.DeveloperExtrasEnabled, True)

    class WebPage(QWebPage):
        def userAgentForUrl(self, url):
            return 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'

    if QApplication.instance() is None:
        QApplication(sys.argv)

    view = QWebView()
    view.setPage(WebPage())
    view.load(url)

    # Ждем пока прогрузится страница
    loop = QEventLoop()
    view.loadFinished.connect(loop.quit)
    loop.exec_()

    doc = view.page().mainFrame().documentElement()
    print(len(doc.toOuterXml()), len(doc.toPlainText()))
    return doc.toPlainText()
コード例 #53
0
ファイル: qml_plugin_test.py プロジェクト: holmeschiu/PySide
    def testPlugin(self):
        view = QWebView()
        fac = PluginFactory()
        view.page().setPluginFactory(fac)
        QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, True)

        view.load(QUrl(os.path.join(os.path.abspath(os.path.dirname(__file__)), "qmlplugin", "index.html")))

        view.resize(840, 600)
        view.show()

        QTimer.singleShot(500, self.app.quit)

        self.app.exec_()
コード例 #54
0
    def testQVariantListProperty(self):
        class Obj(object):
            list = ['foo', 'bar', 'baz']

        obj = Obj()

        wrapper_dict = {}
        for name in ['list']:
            getter = lambda arg=None, name=name: getattr(obj, name)
            wrapper_dict[name] = Property('QVariantList', getter)
        wrapper = type('PyObj', (QObject,), wrapper_dict)

        view = QWebView()
        frame = view.page().mainFrame()
        frame.addToJavaScriptWindowObject('py_obj', wrapper())

        html = '''
        <html><body>
        <script type="text/javascript">
        document.write(py_obj.list)
        </script>
        </body></html>
        '''
        view.setHtml(html)
        view.show()
        self.app.exec_()
コード例 #55
0
ファイル: html.py プロジェクト: devdave/pywk
class HTMLApplication(object):

    def __init__(self, index_file, bridge = None,  parent = None):
        self.index_file = index_file
        self.bridge = bridge
        self.mainWindow = QMainWindow(parent)
        self.mainWindow.setWindowTitle("My hub")
        self.mainWindow.setFixedSize(290,550);

        #This is basically a browser instance
        self.web = QWebView()
        self.mainWindow.setCentralWidget(self.web);

    def show(self):
        #It is IMPERATIVE that all forward slashes are scrubbed out, otherwise QTWebKit seems to be
        # easily confused



        #Asyncronously loads the website, in the interim you could throw up a splash screen
        # but this is relatively quick so it might not be worth it.
        self.web.loadFinished.connect(self.onLoad)
        self.web.setPage(WebPage())
        self.web.load(self.index_file)



        self.mainWindow.show()
        #self.web.show()

    def onLoad(self):

        self.myPage = self.web.page()
        self.myPage.settings().setAttribute(QWebSettings.DeveloperExtrasEnabled, True)

        self.myPage.setNetworkAccessManager(WKNetworkAccessManager())

        self.myFrame = self.myPage.mainFrame()
        for name, obj in self.bridge.items():
            self.myFrame.addToJavaScriptWindowObject(name, obj)

        self.myFrame.evaluateJavaScript("ApplicationIsReady();")

    def onReload(self):
        print "reloaded"
コード例 #56
0
ファイル: webkit_search.py プロジェクト: XueChe/Learn-Notes
def main():
    app = QApplication([])
    webview = QWebView()
    loop = QEventLoop()
    # 创建QEventLoop对象,该对象用于创建本地时间循环
    webview.loadFinished.connect(loop.quit)
    # QWebView对象的loadFinished回调连接了QEventLoop的quit方法,从而可以在网页加载完成之后停止事件循环
    webview.load(QUrl('http://example.webscraping.com/places/default/search'))
    loop.exec_()
    # QwebView的加载方法是异步的,执行过程会在网页加载时立即传入下一行,
    # 但我们希望等待网页加载完成,因此需要在事件循环启动时调用loop.exec_()

    webview.show()     # 调用QWebViewGUI的show()方法来显示渲染窗口,以方便调试
    frame = webview.page().mainFrame()     # 创建一个指代框架的变量
    # 使用CSS模式在框架中定位元素,然后设置搜索参数
    frame.findFirstElement('#search_term').setAttribute('Value', '.')
    frame.findFirstElement('#page_size option:checked').setPlainText('1000')
    # 使用evaluate JavaScript()方法提交事件,模拟点击事件
    frame.findFirstElement('#search').evaluateJavaScript('this.click()')
    app.exec_()  # 进入应用的事件循环,可以对表单操作进行复查,如果没有使用该方法,脚本就会直接结束

    # 等待结果,三种方法处理:
    # 1、等待一定时间,期望AJAX事件能够在此时刻之前完成
    # 2、重写Qt的网络管理器,跟踪URL请求完成的事件
    # 3、轮询网页,等待特定内容出现,下面采用第三种方法
    elements = None
    while not elements:
        app.processEvents()    # 用于给Qt事件循环执行任务的事件,比如响应点击事件和更新GUI
        elements = frame.findAllElements('#results a')
    countries = [e.toPlainText().strip() for e in elements]
    print countries
コード例 #57
0
    def initUI(self):

        hbox = QtGui.QVBoxLayout()
        #hbox.addStretch()
        plot_view = QWebView()
        self.page = _LoggedPage()
        #page.newData.connect(onNewData)
        self.page.commandRecieved.connect(self.commandRecieved)
        self.page.helpNeeded.connect(self.helpNeeded)
        self.page.tabPressed.connect(self.tabPressed)

        plot_view.setPage(self.page)
        #plot_path = 'test.html'
        dir_path = os.path.dirname(os.path.realpath(__file__))

        plot_view.load(QUrl('file:///%s/ptty.html' % dir_path))
        plot_view_settings = plot_view.settings()
        plot_view_settings.setAttribute(QWebSettings.WebGLEnabled, True)
        plot_view_settings.setAttribute(QWebSettings.DeveloperExtrasEnabled,
                                        True)

        hbox.addWidget(plot_view)
        self.setLayout(hbox)

        self.setWindowTitle('WTerminal')
        self.show()
コード例 #58
0
    def testPlugin(self):
        view = QWebView()
        fac = PluginFactory()
        view.page().setPluginFactory(fac)
        QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled,
                                                   True)

        view.load(
            QUrl(
                os.path.join(os.path.abspath(os.path.dirname(__file__)),
                             'qmlplugin', 'index.html')))

        view.resize(840, 600)
        view.show()

        QTimer.singleShot(500, self.app.quit)

        self.app.exec_()
コード例 #59
0
    def __init__(self, parent=None):
        """Create Qt widgets, connect event handlers."""

        super(App, self).__init__(parent)
        
        self.windowTitle = 'DMD | '
        self.fileName = ''
        
        self.setWindowTitle(self.windowTitle + 'Unsaved File')
        
        exitAction = QAction('Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(self.close)
        
        openAction = QAction('Open', self)
        openAction.setShortcut('Ctrl+O')
        openAction.setStatusTip('Open Markdown File')
        openAction.triggered.connect(self.openFile)
        
        newAction = QAction('New', self)
        newAction.setShortcut('Ctrl+N')
        newAction.setStatusTip('New Markdown File')
        newAction.triggered.connect(self.newFile)

        saveAction = QAction('Save', self)
        saveAction.setShortcut('Ctrl+S')
        saveAction.setStatusTip('Save File')
        saveAction.triggered.connect(self.saveFile)
        
        self.statusBar()

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        
        fileMenu.addAction(newAction)
        fileMenu.addAction(openAction)
        fileMenu.addAction(saveAction)
        fileMenu.addAction(exitAction)

        self.setGeometry(300, 300, 1024, 768)
        
        self.show()

        self.txtInput = QTextEdit()
        self.txtInput.setTabStopWidth(20)
        self.webPreview = QWebView()
        self.webPreview.setHtml('Start typing...', baseUrl=QUrl('preview'))
        
        self.txtInput.textChanged.connect(self.loadPreview)
        
        splitter = QSplitter()
        splitter.addWidget(self.txtInput)
        splitter.addWidget(self.webPreview)


        self.setCentralWidget(splitter)