python如何显示文本信息_如何在python Web浏览器中突出显示文本,例如查找文本...

fromPyQt5importQtCore,QtGui,QtWidgets,QtWebEngineWidgetsclassSearchPanel(QtWidgets.QWidget):searched=QtCore.pyqtSignal(str,QtWebEngineWidgets.QWebEnginePage.FindFlag)closed=QtCore.pyqtSignal()def__init__(self,parent=None):super(SearchPanel,self).__init__(parent)lay=QtWidgets.QHBoxLayout(self)done_button=QtWidgets.QPushButton('&Done')self.case_button=QtWidgets.QPushButton('Match &Case',checkable=True)next_button=QtWidgets.QPushButton('&Next')prev_button=QtWidgets.QPushButton('&Previous')self.search_le=QtWidgets.QLineEdit()self.setFocusProxy(self.search_le)done_button.clicked.connect(self.closed)next_button.clicked.connect(self.update_searching)prev_button.clicked.connect(self.on_preview_find)self.case_button.clicked.connect(self.update_searching)forbtnin(self.case_button,self.search_le,next_button,prev_button,done_button,done_button):lay.addWidget(btn)ifisinstance(btn,QtWidgets.QPushButton):btn.clicked.connect(self.setFocus)self.search_le.textChanged.connect(self.update_searching)self.search_le.returnPressed.connect(self.update_searching)self.closed.connect(self.search_le.clear)QtWidgets.QShortcut(QtGui.QKeySequence.FindNext,self,activated=next_button.animateClick)QtWidgets.QShortcut(QtGui.QKeySequence.FindPrevious,self,activated=prev_button.animateClick)QtWidgets.QShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Escape),self.search_le,activated=self.closed)@QtCore.pyqtSlot()defon_preview_find(self):self.update_searching(QtWebEngineWidgets.QWebEnginePage.FindBackward)@QtCore.pyqtSlot()defupdate_searching(self,direction=QtWebEngineWidgets.QWebEnginePage.FindFlag()):flag=directionifself.case_button.isChecked():flag|=QtWebEngineWidgets.QWebEnginePage.FindCaseSensitivelyself.searched.emit(self.search_le.text(),flag)defshowEvent(self,event):super(SearchPanel,self).showEvent(event)self.setFocus(True)classBrowser(QtWidgets.QMainWindow):def__init__(self,parent=None):super(Browser,self).__init__(parent)self._view=QtWebEngineWidgets.QWebEngineView()self.setCentralWidget(self._view)self._view.load(QtCore.QUrl('https://doc.qt.io/qt-5/qwebengineview.html'))self._search_panel=SearchPanel()self.search_toolbar=QtWidgets.QToolBar()self.search_toolbar.addWidget(self._search_panel)self.addToolBar(QtCore.Qt.BottomToolBarArea,self.search_toolbar)self.search_toolbar.hide()self._search_panel.searched.connect(self.on_searched)self._search_panel.closed.connect(self.search_toolbar.hide)self.create_menus()@QtCore.pyqtSlot(str,QtWebEngineWidgets.QWebEnginePage.FindFlag)defon_searched(self,text,flag):defcallback(found):iftextandnotfound:self.statusBar().show()self.statusBar().showMessage('Not found')else:self.statusBar().hide()self._view.findText(text,flag,callback)defcreate_menus(self):menubar=self.menuBar()file_menu=menubar.addMenu('&File')file_menu.addAction('&Find...',self.search_toolbar.show,shortcut=QtGui.QKeySequence.Find)if__name__=='__main__':importsysapp=QtWidgets.QApplication.instance()ifappisNone:app=QtWidgets.QApplication(sys.argv)w=Browser()w.show()sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值