Loading [MathJax]/jax/element/mml/optable/MathOperators.js

7 votos

Haciendo que "Autosize All Columns" sea la vista predeterminada cada vez que se abran las tablas de atributos en QGIS

En QGIS 3.34.6, los anchos de las columnas de la tabla de atributos se pueden ajustar manualmente para que se puedan ver todos los valores, utilizando el menú desplegable Autosize:

introducir descripción de la imagen aquí

Pregunta:

¿Cómo puedo configurar QGIS para que Autosize todas las columnas sea la vista predeterminada cada vez que se abra cualquier tabla de atributos?

1voto

Dharani Kumar Puntos 1

Quizás una solución a largo plazo...

Revisé la lista de problemas de QGIS y la solicitud original de funciones para el menú contextual "autosize all columns" nunca se cerró (https://github.com/qgis/QGIS/issues/41108).

Así que agregué esta sugerencia allí... y ha habido una reacción a ella, así que esperemos que se implemente.

0voto

rmm Puntos 21

Once I needed something similar and what I did was this:
To set the column auto-size behavior:

def focusChanged(old, new):
    if isinstance(new, QTableView) and new.parent().parent().parent().parent().objectName().startswith('QgsAttributeTableDialog'):
        header = new.horizontalHeader()
        header.setSectionResizeMode(QHeaderView.ResizeToContents)
        columns = [new.columnWidth(column) for column in range(header.count())]
        header.setSectionResizeMode(QHeaderView.Interactive)
        for id, width in enumerate(columns):
            new.setColumnWidth(id, width)

app = QgsApplication.instance()
app.focusChanged.connect(focusChanged)

To unset it:

app.focusChanged.disconnect(focusChanged)

I couldn't find any signal that's send when an attribute table is open, so all what I found was the focusChanged signal, so you'll need to focus the dialog to trigger the column auto-size. I took many ideas from this post.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X