我在PyQt4中編寫了一個跨平臺的應用程序。對於一個特定的功能,我想訪問Qt4的QTextHtmlImporter
類。 PyQt4中沒有可用的直接python適配器類。該類是src/gui/text/qtextdocumentfragment_p.h文件的一部分。有沒有什麼辦法可以在Python中訪問?在PyQt4中訪問QTextHtmlImporter
我想修改QTextDocument.setHtml()
,它的代碼是:
void QTextDocument::setHtml(const QString &html) {
Q_D(QTextDocument); setUndoRedoEnabled(false);
d->clear();
QTextHtmlImporter(this, html).import();
setUndoRedoEnabled(true);
}
到
void QTextDocument::setHtml(const QString &html) {
Q_D(QTextDocument);
QTextHtmlImporter(this, html).import();
}
基本上設置HTML而不清除歷史記錄。我計劃通過使用派生類PyQt4的QTextDocument
覆蓋setHtml
函數來實現此目的。有沒有其他方法可以做到這一點?
QTextDocument.setHtml()的工作原理是類似下面 '無效另外,QTextDocument :: setHtml(const QString&html) { Q_D(QTextDocument); setUndoRedoEnabled(false); d-> clear(); QTextHtmlImporter(this,html).import(); setUndoRedoEnabled(true); }' 我想修改它爲 'void QTextDocument :: setHtml(const QString&html) { Q_D(QTextDocument); QTextHtmlImporter(this,html).import(); }' 基本上在不清除歷史記錄的情況下設置html。我計劃通過使用PyQt4的QtextDocument的派生類來覆蓋setHtml函數。有沒有其他方法可以做到這一點? – Sharmila
@Sharmila。我已經用一個如何做到這一點的基本例子更新了我的答案。 – ekhumoro
不會'cursor.select(QtGui.QTextCursor.Document)'執行與2次調用'movePosition'相同的事情嗎? – alexisdm