1 #include "console.h" 2 #include <QScrollBar> 3 #include <QtCore/QDebug> 4 Console(QWidget * parent)5Console::Console(QWidget *parent) 6 : QPlainTextEdit(parent) 7 , localEchoEnabled(true) 8 { 9 document()->setMaximumBlockCount(100); 10 QPalette p = palette(); 11 // p.setColor(QPalette::Base, Qt::black); 12 p.setColor(QPalette::Text, Qt::green); 13 setPalette(p); 14 15 } 16 putData(const QByteArray & data)17void Console::putData(const QByteArray &data) 18 { 19 insertPlainText(QString(data)); 20 21 QScrollBar *bar = verticalScrollBar(); 22 bar->setValue(bar->maximum()); 23 } 24 keyPressEvent(QKeyEvent * e)25void Console::keyPressEvent(QKeyEvent *e) 26 { 27 switch (e->key()) { 28 case Qt::Key_Backspace: 29 case Qt::Key_Left: 30 case Qt::Key_Right: 31 case Qt::Key_Up: 32 case Qt::Key_Down: 33 break; 34 default: 35 if (localEchoEnabled) 36 QPlainTextEdit::keyPressEvent(e); 37 emit getData(e->text().toLocal8Bit()); 38 } 39 } 40 mousePressEvent(QMouseEvent * e)41void Console::mousePressEvent(QMouseEvent *e) 42 { 43 Q_UNUSED(e) 44 setFocus(); 45 } 46 mouseDoubleClickEvent(QMouseEvent * e)47void Console::mouseDoubleClickEvent(QMouseEvent *e) 48 { 49 Q_UNUSED(e) 50 } 51 contextMenuEvent(QContextMenuEvent * e)52void Console::contextMenuEvent(QContextMenuEvent *e) 53 { 54 Q_UNUSED(e) 55 } 56