class QTextEditEnter : public QTextEdit
{
Q_OBJECT
public:
QTextEditEnter( QWidget *_parent ) : QTextEdit(_parent)
{
this -> setFrameStyle( QFrame::Sunken ); // Sunken!
}
protected:
virtual void keyPressEvent(QKeyEvent * event);
virtual void paintEvent(QPaintEvent *_event)
{
QTextEdit::paintEvent( _event ); // это можно убрать - проблема не исчезает.
QPainter pnt(this);
pnt.setPen( QColor( 0, 0, 0, 0xff ));
pnt.drawRect( 0, 0, width(), height());
}
signals:
void signalPressEnter();
};
Понадобился специальный QTextEdit, который посылает событие, когда в нём жмут Enter. Чё-то paintEvent() какой-то странный. Я пытаюсь дорисовать рюшечки к стандартному виду, а он ругается. Стандартный вид я рисую, дёргая базовый paintEvent(), но QPainter pnt(this) и далее - не прокатывает:
QPainter::begin: Widget painting can only begin as a result of a paintEvent // чё за хрень? Ты и так вызван из paintEvent!!!111
QPainter::setPen: Painter not active
QPainter::drawRects: Painter not active
QPainter::begin: Widget painting can only begin as a result of a paintEvent
QPainter::setPen: Painter not active
QPainter::drawRects: Painter not active
QPainter::begin: Widget painting can only begin as a result of a paintEvent
QPainter::setPen: Painter not active
QPainter::drawRects: Painter not active
Не пойму, как это возможно...