我使用的QPlainTextEdit
代碼編輯器也顯示行號。 但是當我按shift+return
a編輯器暫停,但行號不增加。QPlainTextEdit - 更改shift +返回行爲
我想在HTML這純粹是一個<br/>
,而不是一個新的<p>
標籤...
看一看截圖...
我使用的QPlainTextEdit
代碼編輯器也顯示行號。 但是當我按shift+return
a編輯器暫停,但行號不增加。QPlainTextEdit - 更改shift +返回行爲
我想在HTML這純粹是一個<br/>
,而不是一個新的<p>
標籤...
看一看截圖...
你或許應該使用QTextEdit,因爲這是我們正在討論的豐富文本。
替代virtual void keyPressEvent (QKeyEvent * e)
。您可以在實施中致電QTextEdit::keyPressEvent
委託非特殊情況。
實際上,您可以使用帶有eventFilter和installEventFilter函數的對象。
#ifndef SHIFTENTERFILTER_H
#define SHIFTENTERFILTER_H
#include <QObject>
#include <QEvent>
#include <QKeyEvent>
class ShiftEnterFilter : public QObject
{
protected:
virtual bool eventFilter(QObject *, QEvent *event) {
if(event -> type() == QEvent::KeyPress)
{
QKeyEvent *keyEvent = static_cast <QKeyEvent> (event);
if((keyEvent -> modifiers() & Qt::ShiftModifier) && ((keyEvent -> key() == Qt::Key_Enter) || (keyEvent -> key() == Qt::Key_Return)))
return true;
}
return false;
}
public:
ShiftEnterFilter(QObject *parent = 0) : QObject(parent) {}
};
#endif
此過濾器只需安裝到您的QPlainTextEdit
// code
ui -> plainTextEdit -> installEventFilter(new ShiftEnterFilter(this));
// code