本文整理汇总了Python中PyQt5.QtWidgets.QTextBrowser.clear方法的典型用法代码示例。如果您正苦于以下问题:Python QTextBrowser.clear方法的具体用法?Python QTextBrowser.clear怎么用?Python QTextBrowser.clear使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QTextBrowser
的用法示例。
在下文中一共展示了QTextBrowser.clear方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: SourceViewer
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
class SourceViewer(QDialog):
def __init__(self, browser):
super(SourceViewer, self).__init__(browser.parentWidget())
layout = QVBoxLayout()
layout.setContentsMargins(4, 4, 4, 4)
self.setLayout(layout)
self.urlLabel = QLabel(wordWrap=True)
layout.addWidget(self.urlLabel)
self.textbrowser = QTextBrowser()
layout.addWidget(self.textbrowser)
self.urlLabel.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Preferred)
self.textbrowser.setLineWrapMode(QTextBrowser.NoWrap)
app.settingsChanged.connect(self.readSettings)
self.readSettings()
app.translateUI(self)
qutil.saveDialogSize(self, "helpbrowser/sourceviewer/size", QSize(400, 300))
def translateUI(self):
self.setWindowTitle(app.caption(_("LilyPond Source")))
def readSettings(self):
data = textformats.formatData('editor')
self.textbrowser.setPalette(data.palette())
self.textbrowser.setFont(data.font)
highlighter.highlight(self.textbrowser.document())
def showReply(self, reply):
reply.setParent(self)
self.urlLabel.setText(reply.url().toString())
self._reply = reply
reply.finished.connect(self.loadingFinished)
self.textbrowser.clear()
self.show()
def loadingFinished(self):
data = self._reply.readAll()
self._reply.close()
self._reply.deleteLater()
del self._reply
self.textbrowser.clear()
self.textbrowser.setText(str(data, 'utf-8', 'replace'))
highlighter.highlight(self.textbrowser.document())
示例2: CheckInputWidget
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
class CheckInputWidget(QWidget, MooseWidget):
"""
Runs the executable with "--check-input" on the input file and stores the results.
Signals:
needInputFile: Emitted when we need the input file. Argument is the path where the input file will be written.
"""
needInputFile = pyqtSignal(str)
def __init__(self, **kwds):
super(CheckInputWidget, self).__init__(**kwds)
self.input_file = "peacock_check_input.i"
self.top_layout = WidgetUtils.addLayout(vertical=True)
self.setLayout(self.top_layout)
self.output = QTextBrowser(self)
self.output.setStyleSheet("QTextBrowser { background: black; color: white; }")
self.output.setReadOnly(True)
self.top_layout.addWidget(self.output)
self.button_layout = WidgetUtils.addLayout()
self.top_layout.addLayout(self.button_layout)
self.hide_button = WidgetUtils.addButton(self.button_layout, self, "Hide", lambda: self.hide())
self.check_button = WidgetUtils.addButton(self.button_layout, self, "Check", self._check)
self.resize(800, 500)
self.setup()
self.path = None
def cleanup(self):
try:
os.remove(self.input_file)
except:
pass
def check(self, path):
"""
Runs the executable with "--check-input" and adds the output to the window
Input:
path[str]: Path to the executable
"""
self.path = path
self._check()
def _check(self):
"""
Runs the executable with "--check-input" and adds the output to the window
"""
input_file = os.path.abspath(self.input_file)
self.needInputFile.emit(input_file)
self.output.clear()
try:
args = ["-i", input_file, "--check-input"]
output = ExeLauncher.runExe(self.path, args, print_errors=False)
output_html = TerminalUtils.terminalOutputToHtml(output)
self.output.setHtml("<pre>%s</pre>" % output_html)
except Exception as e:
output_html = TerminalUtils.terminalOutputToHtml(str(e))
self.output.setHtml("<pre>%s</pre>" % output_html)
self.cleanup()
示例3: Dialog
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
class Dialog(QDialog):
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
self._info = None
self._text = ''
self._convertedtext = ''
self._encoding = None
self.mainwindow = parent
self.fromVersionLabel = QLabel()
self.fromVersion = QLineEdit()
self.reason = QLabel()
self.toVersionLabel = QLabel()
self.toVersion = QLineEdit()
self.lilyChooser = lilychooser.LilyChooser()
self.messages = QTextBrowser()
self.diff = QTextBrowser(lineWrapMode=QTextBrowser.NoWrap)
self.uni_diff = QTextBrowser(lineWrapMode=QTextBrowser.NoWrap)
self.copyCheck = QCheckBox(checked=
QSettings().value('convert_ly/copy_messages', True, bool))
self.tabw = QTabWidget()
self.tabw.addTab(self.messages, '')
self.tabw.addTab(self.diff, '')
self.tabw.addTab(self.uni_diff, '')
self.buttons = QDialogButtonBox(
QDialogButtonBox.Reset | QDialogButtonBox.Save |
QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
self.buttons.button(QDialogButtonBox.Ok).clicked .connect(self.accept)
self.buttons.rejected.connect(self.reject)
self.buttons.button(QDialogButtonBox.Reset).clicked.connect(self.run)
self.buttons.button(QDialogButtonBox.Save).clicked.connect(self.saveFile)
layout = QVBoxLayout()
self.setLayout(layout)
grid = QGridLayout()
grid.addWidget(self.fromVersionLabel, 0, 0)
grid.addWidget(self.fromVersion, 0, 1)
grid.addWidget(self.reason, 0, 2, 1, 3)
grid.addWidget(self.toVersionLabel, 1, 0)
grid.addWidget(self.toVersion, 1, 1)
grid.addWidget(self.lilyChooser, 1, 3, 1, 2)
layout.addLayout(grid)
layout.addWidget(self.tabw)
layout.addWidget(self.copyCheck)
layout.addWidget(widgets.Separator())
layout.addWidget(self.buttons)
app.translateUI(self)
qutil.saveDialogSize(self, 'convert_ly/dialog/size', QSize(600, 300))
app.settingsChanged.connect(self.readSettings)
self.readSettings()
self.finished.connect(self.saveCopyCheckSetting)
self.lilyChooser.currentIndexChanged.connect(self.slotLilyPondVersionChanged)
self.slotLilyPondVersionChanged()
def translateUI(self):
self.fromVersionLabel.setText(_("From version:"))
self.toVersionLabel.setText(_("To version:"))
self.copyCheck.setText(_("Save convert-ly messages in document"))
self.copyCheck.setToolTip(_(
"If checked, the messages of convert-ly are appended as a "
"comment to the end of the document."))
self.tabw.setTabText(0, _("&Messages"))
self.tabw.setTabText(1, _("&Changes"))
self.tabw.setTabText(2, _("&Diff"))
self.buttons.button(QDialogButtonBox.Reset).setText(_("Run Again"))
self.buttons.button(QDialogButtonBox.Save).setText(_("Save as file"))
self.setCaption()
def saveCopyCheckSetting(self):
QSettings().setValue('convert_ly/copy_messages', self.copyCheck.isChecked())
def readSettings(self):
font = textformats.formatData('editor').font
self.diff.setFont(font)
diffFont = QFont("Monospace")
diffFont.setStyleHint(QFont.TypeWriter)
self.uni_diff.setFont(diffFont)
def slotLilyPondVersionChanged(self):
self.setLilyPondInfo(self.lilyChooser.lilyPondInfo())
def setCaption(self):
version = self._info and self._info.versionString() or _("<unknown>")
title = _("Convert-ly from LilyPond {version}").format(version=version)
self.setWindowTitle(app.caption(title))
def setLilyPondInfo(self, info):
self._info = info
self.setCaption()
self.toVersion.setText(info.versionString())
self.setConvertedText()
self.setDiffText()
self.messages.clear()
#.........这里部分代码省略.........
示例4: Sansimera
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
class Sansimera(QMainWindow):
def __init__(self, parent=None):
super(Sansimera, self).__init__(parent)
self.settings = QSettings()
self.timer = QTimer(self)
self.timer_reminder = QTimer(self)
self.timer_reminder.timeout.connect(self.reminder_tray)
interval = self.settings.value('Interval') or '1'
if interval != '0':
self.timer_reminder.start(int(interval) * 60 * 60 * 1000)
self.tentatives = 0
self.gui()
self.lista = []
self.lista_pos = 0
self.eortazontes_shown = False
self.eortazontes_names = ''
def gui(self):
self.systray = QSystemTrayIcon()
self.icon = QIcon(':/sansimera.png')
self.systray.setIcon(self.icon)
self.systray.setToolTip('Σαν σήμερα...')
self.menu = QMenu()
self.exitAction = QAction('&Έξοδος', self)
self.refreshAction = QAction('&Ανανέωση', self)
self.aboutAction = QAction('&Σχετικά', self)
self.notification_interval = QAction('Ει&δοποίηση εορταζόντων', self)
self.menu.addAction(self.notification_interval)
self.menu.addAction(self.refreshAction)
self.menu.addAction(self.aboutAction)
self.menu.addAction(self.exitAction)
self.systray.setContextMenu(self.menu)
self.notification_interval.triggered.connect(self.interval_namedays)
self.exitAction.triggered.connect(exit)
self.refreshAction.triggered.connect(self.refresh)
self.aboutAction.triggered.connect(self.about)
self.browser = QTextBrowser()
self.browser.setOpenExternalLinks(True)
self.setGeometry(600, 500, 400, 300)
self.setWindowIcon(self.icon)
self.setWindowTitle('Σαν σήμερα...')
self.setCentralWidget(self.browser)
self.systray.show()
self.systray.activated.connect(self.activate)
self.browser.append('Λήψη...')
nicon = QIcon(':/next')
picon = QIcon(':/previous')
ricon = QIcon(':/refresh')
iicon = QIcon(':/info')
qicon = QIcon(':/exit')
inicon = QIcon(':/notifications')
self.nextAction = QAction('Επόμενο', self)
self.nextAction.setIcon(nicon)
self.previousAction = QAction('Προηγούμενο', self)
self.refreshAction.triggered.connect(self.refresh)
self.nextAction.triggered.connect(self.nextItem)
self.previousAction.triggered.connect(self.previousItem)
self.previousAction.setIcon(picon)
self.refreshAction.setIcon(ricon)
self.exitAction.setIcon(qicon)
self.aboutAction.setIcon(iicon)
self.notification_interval.setIcon(inicon)
controls = QToolBar()
self.addToolBar(Qt.BottomToolBarArea, controls)
controls.setObjectName('Controls')
controls.addAction(self.previousAction)
controls.addAction(self.nextAction)
controls.addAction(self.refreshAction)
self.restoreState(self.settings.value("MainWindow/State", QByteArray()))
self.refresh()
def interval_namedays(self):
dialog = sansimera_reminder.Reminder(self)
dialog.applied_signal['QString'].connect(self.reminder)
if dialog.exec_() == 1:
print('Apply namedays reminder interval...')
def reminder(self, time):
self.settings.setValue('Interval', time)
if time != '0':
self.timer_reminder.start(int(time) * 60 * 60 * 1000)
print('Reminder = ' + time + ' hour(s)')
else:
print('Reminder = None')
def nextItem(self):
if len(self.lista) >= 1:
self.browser.clear()
if self.lista_pos != len(self.lista)-1:
self.lista_pos += 1
else:
self.lista_pos = 0
self.browser.append(self.lista[self.lista_pos])
self.browser.moveCursor(QTextCursor.Start)
else:
return
def previousItem(self):
if len(self.lista) >= 1:
self.browser.clear()
#.........这里部分代码省略.........
示例5: Widget
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
#.........这里部分代码省略.........
"""Called when the user clicks the apply button. Applies current snippet."""
name = self.currentSnippet()
if name:
view = self.parent().mainwindow().currentView()
insert.insert(name, view)
def slotImport(self):
"""Called when the user activates the import action."""
filetypes = "{0} (*.xml);;{1} (*)".format(_("XML Files"), _("All Files"))
caption = app.caption(_("dialog title", "Import Snippets"))
filename = None
filename = QFileDialog.getOpenFileName(self, caption, filename, filetypes)[0]
if filename:
from . import import_export
import_export.load(filename, self)
def slotExport(self):
"""Called when the user activates the export action."""
allrows = [row for row in range(model.model().rowCount())
if not self.treeView.isRowHidden(row, QModelIndex())]
selectedrows = [i.row() for i in self.treeView.selectedIndexes()
if i.column() == 0 and i.row() in allrows]
names = self.treeView.model().names()
names = [names[row] for row in selectedrows or allrows]
filetypes = "{0} (*.xml);;{1} (*)".format(_("XML Files"), _("All Files"))
n = len(names)
caption = app.caption(_("dialog title",
"Export {num} Snippet", "Export {num} Snippets", n).format(num=n))
filename = QFileDialog.getSaveFileName(self, caption, None, filetypes)[0]
if filename:
from . import import_export
try:
import_export.save(names, filename)
except (IOError, OSError) as e:
QMessageBox.critical(self, _("Error"), _(
"Can't write to destination:\n\n{url}\n\n{error}").format(
url=filename, error=e.strerror))
def slotRestore(self):
"""Called when the user activates the Restore action."""
from . import restore
dlg = restore.RestoreDialog(self)
dlg.setWindowModality(Qt.WindowModal)
dlg.populate()
dlg.show()
dlg.finished.connect(dlg.deleteLater)
def slotHelp(self):
"""Called when the user clicks the small help button."""
userguide.show("snippets")
def currentSnippet(self):
"""Returns the name of the current snippet if it is visible."""
row = self.treeView.currentIndex().row()
if row != -1 and not self.treeView.isRowHidden(row, QModelIndex()):
return self.treeView.model().names()[row]
def updateFilter(self):
"""Called when the text in the entry changes, updates search results."""
text = self.searchEntry.text()
ltext = text.lower()
filterVars = text.startswith(':')
if filterVars:
try:
fvar, fval = text[1:].split(None, 1)
fhide = lambda v: v.get(fvar) in (True, None) or fval not in v.get(fvar)
except ValueError:
fvar = text[1:].strip()
fhide = lambda v: not v.get(fvar)
for row in range(self.treeView.model().rowCount()):
name = self.treeView.model().names()[row]
nameid = snippets.get(name).variables.get('name', '')
if filterVars:
hide = fhide(snippets.get(name).variables)
elif nameid == text:
i = self.treeView.model().createIndex(row, 0)
self.treeView.selectionModel().setCurrentIndex(i, QItemSelectionModel.SelectCurrent | QItemSelectionModel.Rows)
hide = False
elif nameid.lower().startswith(ltext):
hide = False
elif ltext in snippets.title(name).lower():
hide = False
else:
hide = True
self.treeView.setRowHidden(row, QModelIndex(), hide)
self.updateText()
def updateText(self):
"""Called when the current snippet changes."""
name = self.currentSnippet()
self.textView.clear()
if name:
s = snippets.get(name)
self.highlighter.setPython('python' in s.variables)
self.textView.setPlainText(s.text)
def updateColumnSizes(self):
self.treeView.resizeColumnToContents(0)
self.treeView.resizeColumnToContents(1)
示例6: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.selectedDate = QDate.currentDate()
self.fontSize = 10
centralWidget = QWidget()
dateLabel = QLabel("Date:")
monthCombo = QComboBox()
for month in range(1, 13):
monthCombo.addItem(QDate.longMonthName(month))
yearEdit = QDateTimeEdit()
yearEdit.setDisplayFormat('yyyy')
yearEdit.setDateRange(QDate(1753, 1, 1), QDate(8000, 1, 1))
monthCombo.setCurrentIndex(self.selectedDate.month() - 1)
yearEdit.setDate(self.selectedDate)
self.fontSizeLabel = QLabel("Font size:")
self.fontSizeSpinBox = QSpinBox()
self.fontSizeSpinBox.setRange(1, 64)
self.fontSizeSpinBox.setValue(10)
self.editor = QTextBrowser()
self.insertCalendar()
monthCombo.activated.connect(self.setMonth)
yearEdit.dateChanged.connect(self.setYear)
self.fontSizeSpinBox.valueChanged.connect(self.setfontSize)
controlsLayout = QHBoxLayout()
controlsLayout.addWidget(dateLabel)
controlsLayout.addWidget(monthCombo)
controlsLayout.addWidget(yearEdit)
controlsLayout.addSpacing(24)
controlsLayout.addWidget(self.fontSizeLabel)
controlsLayout.addWidget(self.fontSizeSpinBox)
controlsLayout.addStretch(1)
centralLayout = QVBoxLayout()
centralLayout.addLayout(controlsLayout)
centralLayout.addWidget(self.editor, 1)
centralWidget.setLayout(centralLayout)
self.setCentralWidget(centralWidget)
def insertCalendar(self):
self.editor.clear()
cursor = self.editor.textCursor()
cursor.beginEditBlock()
date = QDate(self.selectedDate.year(), self.selectedDate.month(), 1)
tableFormat = QTextTableFormat()
tableFormat.setAlignment(Qt.AlignHCenter)
tableFormat.setBackground(QColor('#e0e0e0'))
tableFormat.setCellPadding(2)
tableFormat.setCellSpacing(4)
constraints = [QTextLength(QTextLength.PercentageLength, 14),
QTextLength(QTextLength.PercentageLength, 14),
QTextLength(QTextLength.PercentageLength, 14),
QTextLength(QTextLength.PercentageLength, 14),
QTextLength(QTextLength.PercentageLength, 14),
QTextLength(QTextLength.PercentageLength, 14),
QTextLength(QTextLength.PercentageLength, 14)]
tableFormat.setColumnWidthConstraints(constraints)
table = cursor.insertTable(1, 7, tableFormat)
frame = cursor.currentFrame()
frameFormat = frame.frameFormat()
frameFormat.setBorder(1)
frame.setFrameFormat(frameFormat)
format = cursor.charFormat()
format.setFontPointSize(self.fontSize)
boldFormat = QTextCharFormat(format)
boldFormat.setFontWeight(QFont.Bold)
highlightedFormat = QTextCharFormat(boldFormat)
highlightedFormat.setBackground(Qt.yellow)
for weekDay in range(1, 8):
cell = table.cellAt(0, weekDay-1)
cellCursor = cell.firstCursorPosition()
cellCursor.insertText(QDate.longDayName(weekDay), boldFormat)
table.insertRows(table.rows(), 1)
while date.month() == self.selectedDate.month():
weekDay = date.dayOfWeek()
cell = table.cellAt(table.rows()-1, weekDay-1)
cellCursor = cell.firstCursorPosition()
#.........这里部分代码省略.........
示例7: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
#.........这里部分代码省略.........
self.__tabView.setTabText(0, '匹配结果(%d)' % match_files_count)
# self.__queue_result.put()
self.__lab_state.setText('搜索完毕!成功匹配 %d 个文件,处理 %s 个文件,失败 %s 文件。' % (match_files_count, pass_file_count, error_number))
self.__searching = False
# 单击选择路径按钮
def choose_path(self):
path = QFileDialog.getExistingDirectory()
if path != '':
path = sep.join(path.split('/'))
self.__ln_file_path.setText(path)
# 选择打开文件工具
def choose_open_tool(self):
path = QFileDialog.getOpenFileName()
if path[0] != '':
self.__ln_open_tool.setText(path[0])
# 显示搜索结果
def show_search_result(self):
"""将搜索结果加载到界面,供用户查看和操作"""
line_block = [] # 定义临时列表,成批加载,避免刷新频率过高造成界面闪烁
block_size = 10 # 一次性加载的个数
while self.__searching or self.__queue_result.qsize():
# kill subThread
if self.__thread_killer == True:
return
# if self.__searching or self.__queue_result.qsize() >= block_size: // 永远记住这个 bug (生产者-消费者 问题)
if self.__queue_result.qsize() >= block_size: # 如果队列中不小于 block_size 个项
for i in range(block_size): # 取出 block_size 个项
line_block.append(self.__queue_result.get()) # 出队操作
self.__browser_result.addItems(line_block) # 一次性添加 block_size 个条目
line_block.clear() # 清空临时列表
elif self.__queue_result.qsize() >= 0: # 如果队列中小于 block_size 各项
item = self.__queue_result.get() # 出队一项
self.__browser_result.addItem(QListWidgetItem(item)) # 加载到界面
#self.__browser.setCurrentRow(self.__browser.count()-1) # 设置列表中最后一项为当前项,使列表不停滚动
sleep(0.05) # 给界面事件循环腾出时间,避免界面冻结
#self.__pbn_search.setEnabled(True)
# 显示出错结果
def show_error_result(self):
"""打印略过的文件和出错原因,多为 I/O Error"""
count = 0
while self.__queue_error.qsize() or self.__searching:
# kill subThread
if self.__thread_killer == True:
return
if self.__queue_error.qsize() <= 0:
continue
self.__browser_error.append(self.__queue_error.get())
count += 1
self.__tabView.setTabText(1, '错误结果(%d)' % count)
# 单击检索按钮
def pbn_search_clicked(self):
"""To search allow the arguments from UI"""
# 获取 UI 数据
file_path = self.__ln_file_path.text()
file_name = self.__ln_file_name.text()
# 检查参数
if file_path == '':
QMessageBox(QMessageBox.Warning, '缺少参数!', '请输入搜索路径!', QMessageBox.Ok, self).exec_()
示例8: LogWidget
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import clear [as 别名]
class LogWidget(QWidget, MooseWidget):
"""
A widget that shows the log.
This ties into mooseutils.message.mooseMessage which will
emit a signal on mooseutils.message.messageEmitter
This widget listens to messageEmitter and puts
the text in the widget.
Color text is supported.
"""
def __init__(self, **kwds):
"""
Constructor.
"""
super(LogWidget, self).__init__(**kwds)
self.top_layout = WidgetUtils.addLayout(vertical=True)
self.setLayout(self.top_layout)
self.log = QTextBrowser(self)
self.log.setStyleSheet("QTextBrowser { background: black; color: white; }")
self.log.setReadOnly(True)
message.messageEmitter.message.connect(self._write)
self.button_layout = WidgetUtils.addLayout()
self.hide_button = WidgetUtils.addButton(self.button_layout, self, "Hide", lambda: self.hide())
self.clear_button = WidgetUtils.addButton(self.button_layout, self, "Clear", lambda: self.log.clear())
self.top_layout.addWidget(self.log)
self.top_layout.addLayout(self.button_layout)
self.resize(800, 500)
@pyqtSlot(str, str)
def _write(self, msg, color):
"""
This is the slot that will write the message to the widget.
Inputs:
msg: The message to write
color: The color to write the text in.
"""
if not msg:
return
msg = msg.encode('utf-8') # make sure if there are bad characters in the message that we can show them.
if not color or color == "None":
color = "white"
else:
color = str(color)
if msg.find("\n") >= 0:
self.log.insertHtml('<div style="color:%s"><pre><code>%s</code></pre></div><br>' % (color.lower(), escape(msg)))
else:
self.log.insertHtml('<div style="color:%s">%s</div><br>' % (color.lower(), escape(msg)))