Red de conocimiento informático - Problemas con los teléfonos móviles - Qt4.7 QPainter no está activado

Qt4.7 QPainter no está activado

Debido a que QPlainTextEdit hereda de QAbstractScrollArea, es diferente de los controles ordinarios que heredan directamente de QWidget. Contiene una ventana gráfica, que se puede obtener a través de la función de ventana gráfica, y todas las operaciones de dibujo se realizan dentro de la ventana gráfica.

Supongamos que incluye la siguiente definición en el archivo de encabezado:

//editor.h

editor de clases: public QPlainTextEdit

{

Q_OBJECT

público:

Editor(QWidget* padre = 0): QPlainTextEdit(padre){}

virtual ~Editor( ) {}

//...

protegido:

void paintEvent(QPaintEvent *e);

//..

};

El archivo fuente es el siguiente

void Editor::paintEvent(QPaintEvent *e)

{

//Obtener la ventana gráfica a través de la función de ventana gráfica y pintarla

//Simplemente la rellené con un color.

QPainter pintor(viewport());

pintor.fillRect(rect(), Qt::cyan);

// Llame a la función de dibujo predeterminada de QPlainTextEdit, de lo contrario las consecuencias serán desastrosas

// ¡sería terrible! .

QPlainTextEdit::paintEvent(e);

}

No entiendo por qué quieres sobrecargar paintEvent, pero creo que si solo quieres para cambiar el fondo y sobrecargar, ¡será más conveniente usar hojas de estilo! Siempre que no se requiera velocidad, utilice hojas de estilo