QPlainTextEdit Class
La clase QPlainTextEdit proporciona un widget que se utiliza para editar y mostrar texto plano. Más...
| Cabecera: | #include <QPlainTextEdit> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QAbstractScrollArea |
- Lista de todos los miembros, incluyendo los heredados
- QPlainTextEdit es parte de las APIs de Procesamiento de Texto Enriquecido.
Tipos públicos
| enum | LineWrapMode { NoWrap, WidgetWidth } |
Propiedades
|
|
Funciones públicas
| QPlainTextEdit(QWidget *parent = nullptr) | |
| QPlainTextEdit(const QString &text, QWidget *parent = nullptr) | |
| virtual | ~QPlainTextEdit() |
| QString | anchorAt(const QPoint &pos) const |
| bool | backgroundVisible() const |
| int | blockCount() const |
| bool | canPaste() const |
| bool | centerOnScroll() const |
| QMenu * | createStandardContextMenu() |
| QMenu * | createStandardContextMenu(const QPoint &position) |
| QTextCharFormat | currentCharFormat() const |
| QTextCursor | cursorForPosition(const QPoint &pos) const |
| QRect | cursorRect() const |
| QRect | cursorRect(const QTextCursor &cursor) const |
| int | cursorWidth() const |
| QTextDocument * | document() const |
| QString | documentTitle() const |
| void | ensureCursorVisible() |
| QList<QTextEdit::ExtraSelection> | extraSelections() const |
| bool | find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags()) |
| bool | isReadOnly() const |
| bool | isUndoRedoEnabled() const |
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| virtual QVariant | loadResource(int type, const QUrl &name) |
| int | maximumBlockCount() const |
| void | mergeCurrentCharFormat(const QTextCharFormat &modifier) |
| void | moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor) |
| bool | overwriteMode() const |
| QString | placeholderText() const |
| void | print(QPagedPaintDevice *printer) const |
| void | setBackgroundVisible(bool visible) |
| void | setCenterOnScroll(bool enabled) |
| void | setCurrentCharFormat(const QTextCharFormat &format) |
| void | setCursorWidth(int width) |
| void | setDocument(QTextDocument *document) |
| void | setDocumentTitle(const QString &title) |
| void | setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections) |
| void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
| void | setMaximumBlockCount(int maximum) |
| void | setOverwriteMode(bool overwrite) |
| void | setPlaceholderText(const QString &placeholderText) |
| void | setReadOnly(bool ro) |
| void | setTabChangesFocus(bool b) |
| void | setTabStopDistance(qreal distance) |
| void | setTextCursor(const QTextCursor &cursor) |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
| void | setUndoRedoEnabled(bool enable) |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
| bool | tabChangesFocus() const |
| qreal | tabStopDistance() const |
| QTextCursor | textCursor() const |
| Qt::TextInteractionFlags | textInteractionFlags() const |
| QString | toPlainText() const |
| QTextOption::WrapMode | wordWrapMode() const |
Funciones públicas reimplementadas
| virtual QVariant | inputMethodQuery(Qt::InputMethodQuery property) const override |
Ranuras públicas
| void | appendHtml(const QString &html) |
| void | appendPlainText(const QString &text) |
| void | centerCursor() |
| void | clear() |
| void | copy() |
| void | cut() |
| void | insertPlainText(const QString &text) |
| void | paste() |
| void | redo() |
| void | selectAll() |
| void | setPlainText(const QString &text) |
| void | undo() |
| void | zoomIn(int range = 1) |
| void | zoomOut(int range = 1) |
Señales
| void | blockCountChanged(int newBlockCount) |
| void | copyAvailable(bool yes) |
| void | cursorPositionChanged() |
| void | modificationChanged(bool changed) |
| void | redoAvailable(bool available) |
| void | selectionChanged() |
| void | textChanged() |
| void | undoAvailable(bool available) |
| void | updateRequest(const QRect &rect, int dy) |
Funciones protegidas
| QRectF | blockBoundingGeometry(const QTextBlock &block) const |
| QRectF | blockBoundingRect(const QTextBlock &block) const |
| virtual bool | canInsertFromMimeData(const QMimeData *source) const |
| QPointF | contentOffset() const |
| virtual QMimeData * | createMimeDataFromSelection() const |
| QTextBlock | firstVisibleBlock() const |
| QAbstractTextDocumentLayout::PaintContext | getPaintContext() const |
| virtual void | insertFromMimeData(const QMimeData *source) |
Funciones protegidas reimplementadas
| virtual void | changeEvent(QEvent *e) override |
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual void | dragEnterEvent(QDragEnterEvent *e) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *e) override |
| virtual void | focusInEvent(QFocusEvent *e) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | focusOutEvent(QFocusEvent *e) override |
| virtual void | inputMethodEvent(QInputMethodEvent *e) override |
| virtual void | keyPressEvent(QKeyEvent *e) override |
| virtual void | keyReleaseEvent(QKeyEvent *e) override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | resizeEvent(QResizeEvent *e) override |
| virtual void | scrollContentsBy(int dx, int dy) override |
| virtual void | showEvent(QShowEvent *) override |
| virtual void | wheelEvent(QWheelEvent *e) override |
Descripción detallada
Introducción y Conceptos
QPlainTextEdit es un visor/editor avanzado de texto plano. Está optimizado para manejar documentos de gran tamaño y responder rápidamente a las entradas del usuario.
QPlainText utiliza prácticamente la misma tecnología y conceptos que QTextEdit, pero está optimizado para el manejo de texto plano.
QPlainTextEdit trabaja con párrafos y caracteres. Un párrafo es una cadena formateada que se envuelve en palabras para ajustarse al ancho del widget. Por defecto, cuando se lee texto plano, una nueva línea significa un párrafo. Un documento consta de cero o más párrafos. Los párrafos están separados por saltos de línea. Cada carácter dentro de un párrafo tiene sus propios atributos, por ejemplo, fuente y color.
La forma del cursor del ratón en un QPlainTextEdit es Qt::IBeamCursor por defecto. Puede cambiarse a través de la propiedad cursor de viewport().
Uso de QPlainTextEdit como widget de visualización
El texto se establece o sustituye utilizando setPlainText() que borra el texto existente y lo sustituye por el texto pasado a setPlainText().
El texto se puede insertar utilizando la clase QTextCursor o mediante las funciones de conveniencia insertPlainText(), appendPlainText() o paste().
Por defecto, la edición de texto envuelve las palabras en espacios en blanco para que quepan dentro del widget de edición de texto. La función setLineWrapMode() se utiliza para especificar el tipo de ajuste de línea que desea, WidgetWidth o NoWrap si no desea ningún ajuste. Si utiliza el ajuste de línea a la anchura del widget WidgetWidth, puede especificar si desea que se interrumpa en los espacios en blanco o en cualquier lugar con setWordWrapMode().
La función find() puede utilizarse para buscar y seleccionar una cadena determinada dentro del texto.
Si se desea limitar el número total de párrafos en un QPlainTextEdit, como por ejemplo es útil en un visor de registros, se puede utilizar la propiedad maximumBlockCount. La combinación de setMaximumBlockCount() y appendPlainText() convierte a QPlainTextEdit en un eficaz visor de texto de registro. El desplazamiento puede reducirse con la propiedad centerOnScroll(), haciendo el visor de logs aún más rápido. El texto puede formatearse de forma limitada, ya sea utilizando un resaltador de sintaxis (ver más abajo), o añadiendo texto con formato html con appendHtml(). Aunque QPlainTextEdit no soporta la representación compleja de texto enriquecido con tablas y flotantes, sí soporta el formato limitado basado en párrafos que puede necesitar en un visor de registros.
Enlaces de teclas de sólo lectura
Cuando QPlainTextEdit se utiliza en modo de sólo lectura, los atajos de teclado se limitan a la navegación, y el texto sólo puede seleccionarse con el ratón:
| Teclas pulsadas | Acción |
|---|---|
| Qt::UpArrow | Mueve una línea hacia arriba. |
| Qt::DownArrow | Desplaza una línea hacia abajo. |
| Qt::LeftArrow | Mueve un carácter a la izquierda. |
| Qt::RightArrow | Desplaza un carácter a la derecha. |
| Subir página | Mueve una página hacia arriba. |
| PáginaAbajo | Mueve una página hacia abajo. |
| Inicio | Se mueve al principio del texto. |
| Fin | Se desplaza al final del texto. |
| Alt+Rueda | Desplaza la página horizontalmente (la rueda es la del ratón). |
| Ctrl+Rueda | Amplía el texto. |
| Ctrl+A | Selecciona todo el texto. |
Uso de QPlainTextEdit como editor
Toda la información sobre el uso de QPlainTextEdit como un widget de visualización también se aplica aquí.
La selección de texto es manejada por la clase QTextCursor, que proporciona funcionalidad para crear selecciones, recuperar el contenido del texto o borrar selecciones. Puede recuperar el objeto que se corresponde con el cursor visible para el usuario utilizando el método textCursor(). Si desea establecer una selección en QPlainTextEdit sólo tiene que crear una en un objeto QTextCursor y luego hacer que ese cursor sea el cursor visible utilizando setCursor(). La selección puede ser copiada al portapapeles con copy(), o cortada al portapapeles con cut(). Todo el texto puede ser seleccionado usando selectAll().
QPlainTextEdit contiene un objeto QTextDocument que puede ser recuperado utilizando el método document(). También puede establecer su propio objeto documento utilizando setDocument(). QTextDocument emite una señal textChanged() si el texto cambia y también proporciona una función isModified() que devolverá true si el texto ha sido modificado desde que se cargó o desde la última llamada a setModified con false como argumento. Además proporciona métodos para deshacer y rehacer.
Resaltado de sintaxis
Al igual que QTextEdit, QPlainTextEdit funciona junto con QSyntaxHighlighter.
Edición de combinaciones de teclas
La lista de combinaciones de teclas implementadas para la edición:
| Teclas pulsadas | Acción |
|---|---|
| Retroceso | Borra el carácter situado a la izquierda del cursor. |
| Suprimir | Elimina el carácter situado a la derecha del cursor. |
| Ctrl+C | Copia el texto seleccionado en el portapapeles. |
| Ctrl+Insertar | Copia el texto seleccionado en el portapapeles. |
| Ctrl+K | Borra hasta el final de la línea. |
| Ctrl+V | Pega el texto del portapapeles en la edición de texto. |
| Mayús+Insertar | Pega el texto del portapapeles en la edición de texto. |
| Ctrl+X | Borra el texto seleccionado y lo copia en el portapapeles. |
| Mayús+Supr | Elimina el texto seleccionado y lo copia en el portapapeles. |
| Ctrl+Z | Deshace la última operación. |
| Ctrl+Y | Rehace la última operación. |
| Flecha izquierda | Mueve el cursor un carácter a la izquierda. |
| Ctrl+FlechaIzquierda | Mueve el cursor una palabra a la izquierda. |
| FlechaDerecha | Mueve el cursor un carácter a la derecha. |
| Ctrl+FlechaDerecha | Mueve el cursor una palabra a la derecha. |
| Flecha arriba | Mueve el cursor una línea hacia arriba. |
| Ctrl+FlechaArriba | Mueve el cursor una palabra hacia arriba. |
| Flecha abajo | Mueve el cursor una línea hacia abajo. |
| Ctrl+Flecha abajo | Mueve el cursor una palabra hacia abajo. |
| Re Pág | Mueve el cursor una página hacia arriba. |
| PáginaAbajo | Desplaza el cursor una página hacia abajo. |
| Inicio | Mueve el cursor al principio de la línea. |
| Ctrl+Inicio | Desplaza el cursor al principio del texto. |
| Fin | Desplaza el cursor al final de la línea. |
| Ctrl+Fin | Desplaza el cursor al final del texto. |
| Alt+Rueda | Desplaza la página horizontalmente (la rueda es la del ratón). |
| Ctrl+Rueda | Amplía el texto. |
Para seleccionar (marcar) texto, mantenga pulsada la tecla Mayús mientras pulsa una de las teclas de movimiento, por ejemplo, Mayús+Flecha Der echa seleccionará el carácter de la derecha, y Mayús+Ctrl+Flecha Derecha seleccionará la palabra de la derecha, etc.
Diferencias con QTextEdit
QPlainTextEdit es una clase delgada, implementada utilizando la mayor parte de la tecnología que está detrás de QTextEdit y QTextDocument. Sus ventajas de rendimiento sobre QTextEdit provienen principalmente del uso de un diseño de texto diferente y simplificado llamado QPlainTextDocumentLayout en el documento de texto (ver QTextDocument::setDocumentLayout()). El diseño del documento de texto plano no admite tablas ni marcos incrustados, y sustituye el cálculo exacto de la altura por un desplazamiento línea por línea o párrafo por párrafo. Esto hace posible manejar documentos significativamente más grandes, y aún así redimensionar el editor con el ajuste de línea activado en tiempo real. También permite un rápido visor de registros (véase setMaximumBlockCount()).
{Ejemplo de resaltador de sintaxis}, {Procesamiento de texto enriquecido}
Véase también QTextDocument y QTextCursor.
Documentación de tipos de miembros
enum QPlainTextEdit::LineWrapMode
| Constante | Valor |
|---|---|
QPlainTextEdit::NoWrap | 0 |
QPlainTextEdit::WidgetWidth | 1 |
Documentación de propiedades
backgroundVisible : bool
Esta propiedad indica si el fondo de la paleta es visible fuera del área del documento.
Si se establece a true, la edición de texto plano pinta el fondo de la paleta en el área de la ventana gráfica no cubierta por el documento de texto. En caso contrario, si se establece a false, no lo hará. Esta característica permite al usuario distinguir visualmente entre el área del documento, pintada con el color base de la paleta, y el área vacía no cubierta por ningún documento.
El valor por defecto es false.
Funciones de acceso:
| bool | backgroundVisible() const |
| void | setBackgroundVisible(bool visible) |
[read-only] blockCount : int
Esta propiedad contiene el número de bloques de texto del documento.
Por defecto, en un documento vacío, esta propiedad contiene un valor de 1.
Funciones de acceso:
| int | blockCount() const |
centerOnScroll : bool
Esta propiedad indica si el cursor debe estar centrado en la pantalla.
Si se establece a true, la edición de texto plano desplaza el documento verticalmente para que el cursor sea visible en el centro de la ventana gráfica. Esto también permite que la edición de texto se desplace por debajo del final del documento. De lo contrario, si se establece en false, la edición de texto sin formato se desplaza la menor cantidad posible para asegurar que el cursor sea visible. El mismo algoritmo se aplica a cualquier nueva línea añadida a través de appendPlainText().
El valor por defecto es false.
Funciones de acceso:
| bool | centerOnScroll() const |
| void | setCenterOnScroll(bool enabled) |
Véase también centerCursor() y ensureCursorVisible().
cursorWidth : int
Esta propiedad especifica la anchura del cursor en píxeles. El valor por defecto es 1.
Funciones de acceso:
| int | cursorWidth() const |
| void | setCursorWidth(int width) |
documentTitle : QString
Esta propiedad contiene el título del documento analizado a partir del texto.
Por defecto, esta propiedad contiene una cadena vacía.
Funciones de acceso:
| QString | documentTitle() const |
| void | setDocumentTitle(const QString &title) |
lineWrapMode : LineWrapMode
Esta propiedad contiene el modo de ajuste de línea
El modo por defecto es WidgetWidth, que hace que las palabras se ajusten en el borde derecho de la edición de texto. El ajuste se produce en los espacios en blanco, manteniendo intactas las palabras completas. Si desea que el ajuste se produzca dentro de las palabras, utilice setWordWrapMode().
Funciones de acceso:
| QPlainTextEdit::LineWrapMode | lineWrapMode() const |
| void | setLineWrapMode(QPlainTextEdit::LineWrapMode mode) |
maximumBlockCount : int
Esta propiedad contiene el límite de bloques en el documento.
Especifica el número máximo de bloques que puede tener el documento. Si hay más bloques en el documento que los especificados con esta propiedad, los bloques se eliminan desde el principio del documento.
Un valor negativo o cero especifica que el documento puede contener una cantidad ilimitada de bloques.
El valor por defecto es 0.
Tenga en cuenta que al establecer esta propiedad se aplicará el límite inmediatamente al contenido del documento. Al establecer esta propiedad también se desactiva el historial de deshacer rehacer.
Funciones de acceso:
| int | maximumBlockCount() const |
| void | setMaximumBlockCount(int maximum) |
overwriteMode : bool
Esta propiedad indica si el texto introducido por el usuario sobrescribirá el texto existente.
Como ocurre con muchos editores de texto, el widget del editor de texto plano puede configurarse para insertar o sobrescribir el texto existente con el nuevo texto introducido por el usuario.
Si esta propiedad es true, el texto existente se sobrescribe, carácter por carácter por el nuevo texto; en caso contrario, el texto se inserta en la posición del cursor, desplazando el texto existente.
Por defecto, esta propiedad es false (el texto nuevo no sobrescribe el texto existente).
Funciones de acceso:
| bool | overwriteMode() const |
| void | setOverwriteMode(bool overwrite) |
placeholderText : QString
Esta propiedad contiene el texto del marcador de posición del editor
Establecer esta propiedad hace que el editor muestre un texto de marcador de posición en gris siempre que document() esté vacío.
Por defecto, esta propiedad contiene una cadena vacía.
Funciones de acceso:
| QString | placeholderText() const |
| void | setPlaceholderText(const QString &placeholderText) |
Véase también document().
plainText : QString
Esta propiedad obtiene y establece el contenido del editor de texto plano. Los contenidos anteriores se eliminan y el historial de deshacer/rehacer se reinicia cuando se establece esta propiedad. currentCharFormat() también se reinicia, a menos que textCursor() ya esté al principio del documento.
Por defecto, para un editor sin contenido, esta propiedad contiene una cadena vacía.
Funciones de acceso:
| QString | toPlainText() const |
| void | setPlainText(const QString &text) |
Señal de notificador:
| void | textChanged() |
readOnly : bool
Esta propiedad indica si la edición de texto es de sólo lectura.
En una edición de texto de sólo lectura el usuario sólo puede navegar por el texto y seleccionarlo; no es posible modificarlo.
El valor por defecto de esta propiedad es false.
Funciones de acceso:
| bool | isReadOnly() const |
| void | setReadOnly(bool ro) |
tabChangesFocus : bool
Esta propiedad mantiene si Tab cambia el foco o es aceptado como entrada.
En algunas ocasiones las ediciones de texto no deben permitir al usuario introducir tabuladores o cambiar la sangría usando la tecla Tab, ya que esto rompe la cadena de foco. Por defecto es false.
Funciones de acceso:
| bool | tabChangesFocus() const |
| void | setTabChangesFocus(bool b) |
tabStopDistance : qreal
Esta propiedad contiene la distancia de parada de tabulación en píxeles
Por defecto, esta propiedad contiene un valor de 80 píxeles.
No establezca un valor menor que horizontalAdvance() del carácter QChar::VisualTabCharacter, de lo contrario el carácter de tabulación se dibujará incompleto.
Funciones de acceso:
| qreal | tabStopDistance() const |
| void | setTabStopDistance(qreal distance) |
Véase también QTextOption::ShowTabsAndSpaces y QTextDocument::defaultTextOption.
textInteractionFlags : Qt::TextInteractionFlags
Especifica cómo debe interactuar la etiqueta con la entrada del usuario si muestra texto.
Si los indicadores contienen Qt::LinksAccessibleByKeyboard o Qt::TextSelectableByKeyboard, la política de enfoque también se establece automáticamente en Qt::ClickFocus.
El valor por defecto depende de si QPlainTextEdit es de sólo lectura o editable.
Funciones de acceso:
| Qt::TextInteractionFlags | textInteractionFlags() const |
| void | setTextInteractionFlags(Qt::TextInteractionFlags flags) |
undoRedoEnabled : bool
Esta propiedad indica si deshacer y rehacer están habilitados.
Los usuarios sólo pueden deshacer o rehacer acciones si esta propiedad es verdadera, y si hay una acción que pueda deshacerse (o rehacerse).
Por defecto, esta propiedad es true.
Funciones de acceso:
| bool | isUndoRedoEnabled() const |
| void | setUndoRedoEnabled(bool enable) |
wordWrapMode : QTextOption::WrapMode
Esta propiedad contiene el modo que QPlainTextEdit utilizará cuando envuelva texto por palabras.
Por defecto, esta propiedad se establece en QTextOption::WrapAtWordBoundaryOrAnywhere.
Funciones de acceso:
| QTextOption::WrapMode | wordWrapMode() const |
| void | setWordWrapMode(QTextOption::WrapMode policy) |
Véase también QTextOption::WrapMode.
Documentación de las funciones miembro
[explicit] QPlainTextEdit::QPlainTextEdit(QWidget *parent = nullptr)
Construye un QPlainTextEdit vacío con el padre parent.
[explicit] QPlainTextEdit::QPlainTextEdit(const QString &text, QWidget *parent = nullptr)
Construye un QPlainTextEdit con el padre parent. La edición de texto mostrará el texto plano text.
[virtual noexcept] QPlainTextEdit::~QPlainTextEdit()
Destructor.
QString QPlainTextEdit::anchorAt(const QPoint &pos) const
Devuelve la referencia del ancla en la posición pos, o una cadena vacía si no existe ancla en ese punto.
[slot] void QPlainTextEdit::appendHtml(const QString &html)
Añade un nuevo párrafo con html al final de la edición de texto.
[slot] void QPlainTextEdit::appendPlainText(const QString &text)
Añade un nuevo párrafo con text al final de la edición de texto.
Véase también appendHtml().
[protected] QRectF QPlainTextEdit::blockBoundingGeometry(const QTextBlock &block) const
Devuelve el rectángulo delimitador del texto block en coordenadas de contenido. Traduzca el rectángulo con contentOffset() para obtener coordenadas visuales en la ventana gráfica.
Véase también firstVisibleBlock() y blockBoundingRect().
[protected] QRectF QPlainTextEdit::blockBoundingRect(const QTextBlock &block) const
Devuelve el rectángulo delimitador del texto block en las coordenadas propias del bloque.
Véase también blockBoundingGeometry().
[signal] void QPlainTextEdit::blockCountChanged(int newBlockCount)
Esta señal se emite cada vez que cambia el recuento de bloques. El nuevo recuento de bloques se pasa en newBlockCount.
[virtual protected] bool QPlainTextEdit::canInsertFromMimeData(const QMimeData *source) const
Esta función devuelve true si el contenido del objeto de datos MIME, especificado por source, puede descodificarse e insertarse en el documento. Se llama, por ejemplo, cuando durante una operación de arrastre el ratón entra en este widget y es necesario determinar si es posible aceptar el arrastre.
bool QPlainTextEdit::canPaste() const
Devuelve si se puede pegar texto del portapapeles en el textedit.
[slot] void QPlainTextEdit::centerCursor()
Desplaza el documento para centrar el cursor verticalmente.
Véase también ensureCursorVisible() y centerOnScroll.
[override virtual protected] void QPlainTextEdit::changeEvent(QEvent *e)
Reimplementa: QFrame::changeEvent(QEvent *ev).
[slot] void QPlainTextEdit::clear()
Borra todo el texto de la edición de texto.
Notas:
- El historial de deshacer/rehacer también se borra.
- currentCharFormat() se reinicia, a menos que textCursor() ya esté al principio del documento.
Véase también cut() y setPlainText().
[protected] QPointF QPlainTextEdit::contentOffset() const
Devuelve el origen del contenido en coordenadas de la ventana gráfica.
El origen del contenido de una edición de texto plano es siempre la esquina superior izquierda del primer bloque de texto visible. El desplazamiento del contenido es diferente de (0,0) cuando el texto se ha desplazado horizontalmente, o cuando el primer bloque visible se ha desplazado parcialmente fuera de la pantalla, es decir, el texto visible no comienza con la primera línea del primer bloque visible, o cuando el primer bloque visible es el primer bloque y el editor muestra un margen.
Véase también firstVisibleBlock(), horizontalScrollBar() y verticalScrollBar().
[override virtual protected] void QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
Reimplementa: QAbstractScrollArea::contextMenuEvent(QContextMenuEvent *e).
Muestra el menú contextual estándar creado con createStandardContextMenu().
Si no desea que la edición de texto tenga un menú contextual, puede establecer su contextMenuPolicy a Qt::NoContextMenu. Si desea personalizar el menú contextual, reimplemente esta función. Si desea ampliar el menú contextual estándar, reimplemente esta función, llame a createStandardContextMenu() y amplíe el menú devuelto.
La información sobre el evento se pasa en el objeto event.
void MyQPlainTextEdit::contextMenuEvent(QContextMenuEvent *event) { QMenu *menu = createStandardContextMenu(); menu->addAction(tr("My Menu Item")); //... menu->exec(event->globalPos()); delete menu; }
[slot] void QPlainTextEdit::copy()
Copia el texto seleccionado en el portapapeles.
Véase también copyAvailable().
[signal] void QPlainTextEdit::copyAvailable(bool yes)
Esta señal se emite cuando se selecciona o deselecciona texto en la edición de texto.
Cuando se selecciona un texto, esta señal se emite con yes igual a true. Si no se ha seleccionado ningún texto o si se ha deseleccionado el texto seleccionado, esta señal se emite con yes puesto a false.
Si yes es verdadero, puede utilizarse copy() para copiar la selección en el portapapeles. Si yes es falso entonces copy() no hace nada.
Véase también selectionChanged().
[virtual protected] QMimeData *QPlainTextEdit::createMimeDataFromSelection() const
Esta función devuelve un nuevo objeto de datos MIME para representar el contenido de la selección actual de la edición de texto. Es llamada cuando la selección necesita ser encapsulada en un nuevo objeto QMimeData; por ejemplo, cuando se inicia una operación de arrastrar y soltar, o cuando se copian datos al portapapeles.
Si reimplementa esta función, tenga en cuenta que la propiedad del objeto QMimeData devuelto se pasa a la persona que llama. La selección puede recuperarse utilizando la función textCursor().
QMenu *QPlainTextEdit::createStandardContextMenu()
Esta función crea el menú contextual estándar que se muestra cuando el usuario hace clic en la edición de texto con el botón derecho del ratón. Se llama desde el manejador por defecto contextMenuEvent(). La propiedad del menú contextual se transfiere a la persona que realiza la llamada.
Le recomendamos que utilice en su lugar la versión createStandardContextMenu(QPoint) que habilitará las acciones sensibles al lugar donde el usuario hizo clic.
QMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)
Esta función crea el menú contextual estándar que se muestra cuando el usuario hace clic en la edición de texto con el botón derecho del ratón. Se llama desde el manejador por defecto contextMenuEvent() y toma el position en coordenadas del documento donde se hizo clic con el ratón. Esto puede habilitar acciones que son sensibles a la posición donde el usuario hizo clic. La propiedad del menú emergente se transfiere a quien lo llama.
QTextCharFormat QPlainTextEdit::currentCharFormat() const
Devuelve el formato char que se utiliza al insertar texto nuevo.
Véase también setCurrentCharFormat().
QTextCursor QPlainTextEdit::cursorForPosition(const QPoint &pos) const
devuelve un QTextCursor en la posición pos (en coordenadas de la ventana gráfica).
[signal] void QPlainTextEdit::cursorPositionChanged()
Esta señal se emite cada vez que cambia la posición del cursor.
QRect QPlainTextEdit::cursorRect() const
devuelve un rectángulo (en coordenadas de la ventana gráfica) que incluye el cursor de la edición de texto.
QRect QPlainTextEdit::cursorRect(const QTextCursor &cursor) const
devuelve un rectángulo (en coordenadas de la ventana gráfica) que incluye cursor.
[slot] void QPlainTextEdit::cut()
Copia el texto seleccionado en el portapapeles y lo borra de la edición de texto.
Si no hay texto seleccionado no ocurre nada.
Véase también copy() y paste().
QTextDocument *QPlainTextEdit::document() const
Devuelve un puntero al documento subyacente.
Véase también setDocument().
[override virtual protected] void QPlainTextEdit::dragEnterEvent(QDragEnterEvent *e)
Reimplementa: QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event).
[override virtual protected] void QPlainTextEdit::dragLeaveEvent(QDragLeaveEvent *e)
Reimplementa: QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event).
[override virtual protected] void QPlainTextEdit::dragMoveEvent(QDragMoveEvent *e)
Reimplementa: QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event).
[override virtual protected] void QPlainTextEdit::dropEvent(QDropEvent *e)
Reimplementa: QAbstractScrollArea::dropEvent(QDropEvent *event).
void QPlainTextEdit::ensureCursorVisible()
Asegura que el cursor sea visible desplazando la edición de texto si es necesario.
Véase también centerCursor() y centerOnScroll.
QList<QTextEdit::ExtraSelection> QPlainTextEdit::extraSelections() const
Devuelve las selecciones extra establecidas previamente.
Véase también setExtraSelections().
bool QPlainTextEdit::find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Busca la siguiente ocurrencia de la cadena, exp, utilizando la options dada. Devuelve true si se ha encontrado exp y cambia el cursor para seleccionar la coincidencia; en caso contrario devuelve false.
bool QPlainTextEdit::find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags())
Busca la siguiente ocurrencia que coincida con la expresión regular, exp, utilizando la dirección options.
Devuelve true si se ha encontrado una coincidencia y cambia el cursor para seleccionar la coincidencia; en caso contrario devuelve false.
Advertencia: Por razones históricas, la opción de distinción entre mayúsculas y minúsculas establecida en exp se ignora. En su lugar, se utiliza options para determinar si la búsqueda distingue entre mayúsculas y minúsculas o no.
Esta es una función sobrecargada.
[protected] QTextBlock QPlainTextEdit::firstVisibleBlock() const
Devuelve el primer bloque visible.
Véase también blockBoundingRect().
[override virtual protected] void QPlainTextEdit::focusInEvent(QFocusEvent *e)
Reimplementa: QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected] bool QPlainTextEdit::focusNextPrevChild(bool next)
Reimplementa: QWidget::focusNextPrevChild(bool next).
[override virtual protected] void QPlainTextEdit::focusOutEvent(QFocusEvent *e)
Reimplementa: QWidget::focusOutEvent(QFocusEvent *event).
[protected] QAbstractTextDocumentLayout::PaintContext QPlainTextEdit::getPaintContext() const
Devuelve el contexto de pintura para viewport(), útil sólo cuando se reimplementa paintEvent().
[override virtual protected] void QPlainTextEdit::inputMethodEvent(QInputMethodEvent *e)
Reimplementa: QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual] QVariant QPlainTextEdit::inputMethodQuery(Qt::InputMethodQuery property) const
Reimplementa: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
[virtual protected] void QPlainTextEdit::insertFromMimeData(const QMimeData *source)
Esta función inserta el contenido del objeto de datos MIME, especificado por source, en la edición de texto en la posición actual del cursor. Se llama siempre que se inserta texto como resultado de una operación de pegado en el portapapeles, o cuando la edición de texto acepta datos de una operación de arrastrar y soltar.
[slot] void QPlainTextEdit::insertPlainText(const QString &text)
Ranura de conveniencia que inserta text en la posición actual del cursor.
Equivale a
edit->textCursor().insertText(text);
[override virtual protected] void QPlainTextEdit::keyPressEvent(QKeyEvent *e)
Reimplementa: QAbstractScrollArea::keyPressEvent(QKeyEvent *e).
[override virtual protected] void QPlainTextEdit::keyReleaseEvent(QKeyEvent *e)
Reimplementa: QWidget::keyReleaseEvent(QKeyEvent *event).
[virtual] QVariant QPlainTextEdit::loadResource(int type, const QUrl &name)
Carga el recurso especificado por los campos type y name.
Esta función es una extensión de QTextDocument::loadResource().
Véase también QTextDocument::loadResource().
void QPlainTextEdit::mergeCurrentCharFormat(const QTextCharFormat &modifier)
Fusiona las propiedades especificadas en modifier en el formato de caracteres actual llamando a QTextCursor::mergeCharFormat en el cursor del editor. Si el editor tiene una selección, las propiedades de modifier se aplican directamente a la selección.
Véase también QTextCursor::mergeCharFormat().
[signal] void QPlainTextEdit::modificationChanged(bool changed)
Esta señal se emite siempre que el contenido del documento cambia de forma que afecta al estado de modificación. Si changed es verdadero, el documento ha sido modificado; en caso contrario, es falso.
Por ejemplo, llamar a setModified(false) en un documento y luego insertar texto hace que se emita la señal. Si deshaces esa operación, haciendo que el documento vuelva a su estado original sin modificar, la señal se emitirá de nuevo.
[override virtual protected] void QPlainTextEdit::mouseDoubleClickEvent(QMouseEvent *e)
Reimplementa: QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mouseMoveEvent(QMouseEvent *e)
Reimplementa: QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mousePressEvent(QMouseEvent *e)
Reimplementa: QAbstractScrollArea::mousePressEvent(QMouseEvent *e).
[override virtual protected] void QPlainTextEdit::mouseReleaseEvent(QMouseEvent *e)
Reimplementa: QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e).
void QPlainTextEdit::moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
Mueve el cursor realizando la operación dada operation.
Si mode es QTextCursor::KeepAnchor, el cursor selecciona el texto sobre el que se mueve. Es el mismo efecto que consigue el usuario cuando mantiene pulsada la tecla Mayúsculas y mueve el cursor con las teclas del cursor.
Véase también QTextCursor::movePosition().
[override virtual protected] void QPlainTextEdit::paintEvent(QPaintEvent *e)
Reimplementa: QAbstractScrollArea::paintEvent(QPaintEvent *event).
[slot] void QPlainTextEdit::paste()
Pega el texto del portapapeles en la edición de texto en la posición actual del cursor.
Si no hay texto en el portapapeles no ocurre nada.
Para cambiar el comportamiento de esta función, es decir, para modificar lo que QPlainTextEdit puede pegar y cómo se pega, reimplemente las funciones virtuales canInsertFromMimeData() y insertFromMimeData().
void QPlainTextEdit::print(QPagedPaintDevice *printer) const
Función de conveniencia para imprimir el documento de edición de texto en la dirección printer. Esto es equivalente a llamar directamente al método print en el documento excepto que esta función también soporta QPrinter::Selection como rango de impresión.
Ver también QTextDocument::print().
[slot] void QPlainTextEdit::redo()
Rehace la última operación.
Si no hay ninguna operación que rehacer, es decir, no hay ningún paso de rehacer en el historial de deshacer/rehacer, no ocurre nada.
Véase también undo().
[signal] void QPlainTextEdit::redoAvailable(bool available)
Esta señal se emite cuando las operaciones de rehacer están disponibles (available es verdadero) o no disponibles (available es falso).
[override virtual protected] void QPlainTextEdit::resizeEvent(QResizeEvent *e)
Reimplementa: QAbstractScrollArea::resizeEvent(QResizeEvent *event).
[override virtual protected] void QPlainTextEdit::scrollContentsBy(int dx, int dy)
Reimplementa: QAbstractScrollArea::scrollContentsBy(int dx, int dy).
[slot] void QPlainTextEdit::selectAll()
Selecciona todo el texto.
Véase también copy(), cut() y textCursor().
[signal] void QPlainTextEdit::selectionChanged()
Esta señal se emite cada vez que cambia la selección.
Véase también copyAvailable().
void QPlainTextEdit::setCurrentCharFormat(const QTextCharFormat &format)
Establece el formato char que se utilizará al insertar texto nuevo en format llamando a QTextCursor::setCharFormat() en el cursor del editor. Si el editor tiene una selección, el formato char se aplica directamente a la selección.
Véase también currentCharFormat().
void QPlainTextEdit::setDocument(QTextDocument *document)
Hace que document sea el nuevo documento del editor de texto.
El padre QObject del documento proporcionado sigue siendo el propietario del objeto. Si el documento actual es hijo del editor de texto, entonces se elimina.
El documento debe tener un diseño que herede QPlainTextDocumentLayout (véase QTextDocument::setDocumentLayout()).
Véase también document().
void QPlainTextEdit::setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections)
Esta función permite marcar temporalmente ciertas regiones del documento con un color determinado, especificado como selections. Esto puede ser útil, por ejemplo, en un editor de programación para marcar toda una línea de texto con un color de fondo determinado para indicar la existencia de un punto de interrupción.
Véase también QTextEdit::ExtraSelection y extraSelections().
[slot] void QPlainTextEdit::setPlainText(const QString &text)
Cambia el texto de la edición de texto a la cadena text. Se elimina cualquier texto anterior.
text se interpreta como texto sin formato.
Notas:
- El historial de deshacer/rehacer también se borra.
- currentCharFormat() se reinicia, a menos que textCursor() ya esté al principio del documento.
Nota: Función Setter para la propiedad plainText.
Véase también toPlainText().
void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)
Establece el visible cursor.
Véase también textCursor().
[override virtual protected] void QPlainTextEdit::showEvent(QShowEvent *)
Reimplementa: QWidget::showEvent(QShowEvent *event).
[signal] void QPlainTextEdit::textChanged()
Esta señal se emite siempre que cambia el contenido del documento; por ejemplo, cuando se inserta o elimina texto, o cuando se aplica formato.
Nota: Señal notificadora para la propiedad plainText.
QTextCursor QPlainTextEdit::textCursor() const
Devuelve una copia de QTextCursor que representa el cursor visible en ese momento. Tenga en cuenta que los cambios en el cursor devuelto no afectan al cursor de QPlainTextEdit; utilice setTextCursor() para actualizar el cursor visible.
Véase también setTextCursor().
QString QPlainTextEdit::toPlainText() const
Devuelve el texto de la edición de texto como texto plano.
Nota: Función Getter para la propiedad plainText.
Véase también QPlainTextEdit::setPlainText().
[slot] void QPlainTextEdit::undo()
Deshace la última operación.
Si no hay ninguna operación que deshacer, es decir, no hay ningún paso de deshacer en el historial de deshacer/rehacer, no ocurre nada.
Véase también redo().
[signal] void QPlainTextEdit::undoAvailable(bool available)
Esta señal se emite cuando las operaciones de deshacer están disponibles (available es verdadero) o no disponibles (available es falso).
[signal] void QPlainTextEdit::updateRequest(const QRect &rect, int dy)
Esta señal se emite cuando el documento de texto necesita una actualización del rect especificado. Si el texto se desplaza, rect cubrirá toda el área de la ventana gráfica. Si el texto se desplaza verticalmente, dy transporta la cantidad de píxeles que se desplazó la ventana gráfica.
El propósito de la señal es soportar widgets extra en subclases de edición de texto plano que, por ejemplo, muestren números de línea, puntos de interrupción u otra información extra.
[override virtual protected] void QPlainTextEdit::wheelEvent(QWheelEvent *e)
Reimplementa: QAbstractScrollArea::wheelEvent(QWheelEvent *e).
[slot] void QPlainTextEdit::zoomIn(int range = 1)
Amplía el texto haciendo que el tamaño de fuente base sea range puntos mayor y recalculando todos los tamaños de fuente para que sean del nuevo tamaño. Esto no cambia el tamaño de ninguna imagen.
Véase también zoomOut().
[slot] void QPlainTextEdit::zoomOut(int range = 1)
Reduce el texto haciendo que el tamaño de la fuente base sea range puntos más pequeño y recalculando todos los tamaños de fuente para que sean del nuevo tamaño. Esto no cambia el tamaño de ninguna imagen.
Véase también zoomIn().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.