本文整理汇总了Python中PyQt5.QtWidgets.QTextBrowser.textCursor方法的典型用法代码示例。如果您正苦于以下问题:Python QTextBrowser.textCursor方法的具体用法?Python QTextBrowser.textCursor怎么用?Python QTextBrowser.textCursor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PyQt5.QtWidgets.QTextBrowser
的用法示例。
在下文中一共展示了QTextBrowser.textCursor方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: PreviewWidgetColor
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import textCursor [as 别名]
class PreviewWidgetColor(QGroupBox):
def __init__(self, parent=None):
super().__init__(parent)
self.setTitle(self.tr("Preview"))
self.setMaximumHeight(120)
vboxLayout = QVBoxLayout(self)
self.previewGroupBox = QGroupBox(self)
self.previewGroupBox.setObjectName("previewGroupBox")
vboxLayout.addWidget(self.previewGroupBox)
self.horizontalLayout = QHBoxLayout(self.previewGroupBox)
self.verticalLayout = QVBoxLayout()
self.horizontalLayout.addLayout(self.verticalLayout)
self.previewLabel = QLabel(self.previewGroupBox)
self.previewLabel.setText(self.tr("Window Text"))
self.previewLabel.setObjectName("previewLabel")
self.verticalLayout.addWidget(self.previewLabel)
self.previewPushButton = QPushButton(self.previewGroupBox)
self.previewPushButton.setText(self.tr("Button"))
self.previewPushButton.setObjectName("previewPushButton")
self.verticalLayout.addWidget(self.previewPushButton)
self.previewTextBrowser = QTextBrowser(self.previewGroupBox)
self.previewTextBrowser.setObjectName("previewTextBrowser")
self.previewTextBrowser.insertHtml(self.tr("""<style>
#unclicked {color : rgb(255,0,0);}
#sunclicked {color : rgb(255,0,255);}
#clicked {color : rgb(0,255,0);}
#sclicked {color : rgb(0,0,255);}
</style>
<p>Normal metin <a id='unclicked' href='#'>bağlantı</a> <a id='clicked' href='#'>ziyaret edilmiş</a></p>
<p>Seçili metin <a id='sunclicked' href='#'>bağlantı</a> <a id='sclicked' href='#'>ziyaret edilmiş</a></p>"""))
cursor = self.previewTextBrowser.textCursor()
cursor.setPosition(39)
cursor.setPosition(76, QTextCursor.KeepAnchor)
self.previewTextBrowser.setTextCursor(cursor)
self.horizontalLayout.addWidget(self.previewTextBrowser)
self.previewPushButton.installEventFilter(self.previewGroupBox)
self.previewPushButton.setFocusPolicy(Qt.NoFocus)
self.previewTextBrowser.installEventFilter(self.previewGroupBox)
self.previewTextBrowser.setFocusPolicy(Qt.NoFocus)
self.previewTextBrowser.setTextInteractionFlags(Qt.NoTextInteraction)
def eventFilter(self, obj, event):
if self.previewPushButton:
if event.type() == QEvent.MouseButtonRelease:
return True
elif event.type() == QEvent.MouseButtonPress:
return True
elif event.type() == QEvent.MouseButtonDblClick:
return True
else:
return False
else:
super().eventFilter(obj, event)
示例2: MainWindow
# 需要导入模块: from PyQt5.QtWidgets import QTextBrowser [as 别名]
# 或者: from PyQt5.QtWidgets.QTextBrowser import textCursor [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()
#.........这里部分代码省略.........