¿Cómo programar la barra de desplazamiento para saltar a la parte inferior/superior en caso de cambio en el área QPlainTextEdit o QTextEdit? Parece que no tiene ninguna función de control.¿Cómo programar la barra de desplazamiento para saltar a la parte inferior/superior en caso de cambio en el área QPlainTextEdit o QTextEdit?
Respuesta
Cuando se cambia el tamaño de un control de edición de texto, se llama al QWidget::resizeEvent
. Simplemente tiene que anular esta función en su subclase y llamar al verticalScrollBar -> setValue (verticalScrollBar -> minimum())
(o maximum()
).
¡Gracias por la respuesta! Me gustaría desarrollar un programa de cliente de terminal para un servidor especial. Hay una casilla de verificación con la que puede bloquear/desbloquear la pantalla. Si está desbloqueado, los paquetes entrantes procesados escritos en QPlainTextBox forzarán automáticamente la barra de desplazamiento en la parte inferior (independientemente de la posición del cursor). Tu solución parece prometedora Te daré un comentario más tarde ... ¡Gracias! – falconium
Usted puede utilizar el método 'ensureCursorVisible':
void QTextEdit::ensureCursorVisible() Ensures that the cursor is visible by scrolling the text edit if necessary.
Esto no es una ranura, sin embargo, por lo que no se puede conectar a cualquier señal - que tendrá que crear algo usted mismo que puede conectarse a la señal vacía textChanged().
Descargo de responsabilidad: Pude haber entendido mal su pregunta: supongo que desea desplazarse hacia abajo cuando se agrega texto al texto.
esto debería aceptarse como la respuesta correcta – warunanc
QTextEdit y QPlainTextEdit se heredan de QAbstractScrollArea. El objeto QAbstractScrollArea proporciona acceso a la barra de desplazamiento a través del método verticalScrollBar().
Por lo tanto, para saltar a la parte superior:
ui.textEdit->verticalScrollBar()->setValue(0);
y pasar a la parte inferior:
ui.textEdit->verticalScrollBar()->setValue(ui.textEdit->verticalScrollBar()->maximum());
Esto debería funcionar tanto para QTextEdit y QPlainTextEdit.
Eché de menos que la respuesta de TonyK ya resuelve el problema. La respuesta de TonyK debe ser aceptada. – d11
Aquí estoy publicando mi Solución como solución anterior dint trabajo en mi caso.
Quiero obtener el cursor al comienzo de QTextbrowser
.
Mediante el uso de QTextEdit::setTextCursor, se puede mover el cursor visible en la que desea:
// Go to beginning
QTextCursor textCursor = ui->textBrowser->textCursor();
textCursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor,1);
ui->textBrowser->setTextCursor(textCursor);
Esperanza, que le ayudará a alguien y guardar su valioso tiempo.
He hecho en Pyqt.
self.scrollArea.verticalScrollBar(). RangeChanged.connect (self.change_scroll)
--------
@pyqtSlot(int, int)
def change_scroll(self, min, max):
print("cambio", min, max)
self.scrollArea.verticalScrollBar().setSliderPosition(max)
- 1. QTextEdit cambio de color de fondo también el color de la barra de desplazamiento
- 2. ¿Cómo desplazar QPlainTextEdit a la parte superior?
- 3. ¿Cómo obtengo el texto visible actualmente de un widget QTextEdit o QPlainTextEdit?
- 4. Cambio de la posición de la barra de desplazamiento
- 5. Mostrar siempre la barra de desplazamiento del navegador para evitar que la página saltar
- 6. ¿Cómo saltar la parte superior del archivo en PhpStorm?
- 7. ¿Cómo formateo el estilo de la barra de desplazamiento en un área de texto?
- 8. Cómo comprobar si la barra de desplazamiento está en la parte inferior
- 9. ¿Detecta cuando la barra de desplazamiento de la lista de WPF está en la parte inferior?
- 10. ¿Cómo me deshago de la barra de desplazamiento vertical de un área de texto en IE?
- 11. ¿cómo puedo hacer que una barra de desplazamiento html comience en la parte inferior?
- 12. ¿Cómo calcular el ancho de la barra de desplazamiento?
- 13. cambio css en caso de desplazamiento w/Frame requestAnimation
- 14. La barra de desplazamiento no aparece en la página web
- 15. Agregar barra de desplazamiento a la tabla
- 16. CSS: la barra de desplazamiento para el eje y causa la barra de desplazamiento para el eje x
- 17. caso carriles de cambio en la vista
- 18. ¿Cómo configurar la barra de desplazamiento del navegador para desplazar parte de una página?
- 19. ¿Cómo hacer que el desplazamiento automático de JTextPane solo se realice cuando la barra de desplazamiento está en la parte inferior y el bloqueo de desplazamiento está desactivado?
- 20. Eliminar la barra de desplazamiento vertical, mantener la barra de desplazamiento horizontal en el iframe en Chrome
- 21. Ocultar la barra de desplazamiento en WebView
- 22. PrimeFaces barra de desplazamiento de datos en la posición deseada
- 23. Cómo mostrar siempre la barra de desplazamiento
- 24. Internet Explorer crea barra de desplazamiento horizontal para el ancho de barra de desplazamiento vertical
- 25. Java Swing: enfoque para agregar texto de forma dinámica en el área de texto, tener actualización de barra de desplazamiento
- 26. Cómo ajustar/cambiar el ancho de la barra de desplazamiento
- 27. El encabezado div se mantiene en la parte superior, el desplazamiento vertical div a continuación, con la barra de desplazamiento solo se adjunta a ese div
- 28. cursor no cambia a puntero en el caso usemap/área
- 29. Cómo implementar la barra de desplazamiento con el pulgar para un desplazamiento rápido
- 30. Desplazarse automáticamente a la parte inferior de un área de texto
Tenemos dos interpretaciones diferentes! ¿Quiere decir un cambio en el texto o un cambio en la geometría? – TonyK