Définition de la largeur du panneau des couches dans QGIS?

11

Lorsque j'ouvre QGIS, le panneau Calques prend par défaut une largeur qui n'affiche pas le bouton "Supprimer le calque / groupe". Je dois donc redimensionner le panneau pour afficher le bouton chaque fois que j'ouvre QGIS.

Est-il possible de définir une largeur par défaut pour ce panneau afin de ne pas avoir à le redimensionner?

J'utilise QGIS 2.18.5 sur Windows 10.

balex
la source
J'ajoute un autre panneau (dans mon cas, un outil de numérisation avancé ou un outil de valeur). Certains de ces panneaux tentent de conserver leur largeur. Mais je suis d'accord, ce serait bien si une largeur par défaut pouvait être définie.
Kazuhito
Ce serait bien que le projet se souvienne, mais vous n'avez pas besoin de ce bouton car la fonction est disponible via le menu contextuel de clic droit de calque, donc il n'est pas nécessaire de redimensionner (c'est-à-dire que c'est exactement le même nombre de clics sur les boutons - un sur le calque et un à retirer). Si vous souhaitez toujours utiliser le bouton, vous n'avez toujours pas besoin de le redimensionner car vous pouvez cliquer sur le bouton >> au bord du volet et tous les boutons cachés apparaissent dans une fenêtre contextuelle (cela s'applique à tous les menus QGIS).
MappaGnosis

Réponses:

11

En utilisant un peu de Python , nous pourrions créer un script startup.py qui définit la largeur du panneau des couches en utilisant ce qui suit:

from qgis.utils import iface
from PyQt4.QtGui import QDockWidget

for x in iface.mainWindow().findChildren(QDockWidget): 
    if x.objectName() == 'Layers':
        x.setFixedWidth(250)
        x.setMinimumWidth(100)
        x.setMaximumWidth(1000)

Enregistrez le script dans votre /.qgis2/python/répertoire. Désormais, chaque fois que vous chargez QGIS, la largeur du panneau des couches sera définie en conséquence.

Joseph
la source
1
Merci Joseph, c'est une bonne solution. Cependant, j'ai trouvé que la définition d'une largeur minimale minimale après la valeur fixedWidth rendait la valeur fixedWidth redondante. Donc, pour mes besoins, je n'ai utilisé que x.setMinimumWidth (250), 250 était le nombre magique pour moi, cela m'a toujours permis d'élargir le panneau si nécessaire.
balex
@balex - Très bienvenu, heureux que cela ait aidé! Drôle, quand je le supprime setFixedWidth, il ne se redimensionne pas en conséquence. Peut-être parce que j'utilise 2.18.2 mais au moins ça marche pour vous :)
Joseph