Definindo a largura do painel de camadas no QGIS?

11

Quando abro o QGIS, o painel Camadas é padronizado com uma largura que não mostra o botão "Remover camada / grupo". Então eu tenho que redimensionar o painel para mostrar o botão toda vez que eu abrir o QGIS.

É possível definir uma largura padrão para este painel para que eu não precise redimensioná-lo?

Estou usando o QGIS 2.18.5 no Windows 10.

balex
fonte
Eu adiciono outro painel (no meu caso, Advanced Digitizing Tool ou Value Tool). Alguns desses painéis tentam manter sua largura. Mas eu concordo, seria bom se uma largura padrão puder ser definida.
Kazuhito 28/04
Seria bom lembrar o projeto, mas você não precisa desse botão, pois a função está disponível no menu pop-up com o botão direito do mouse na camada, portanto não há necessidade de redimensionar (ou seja, é exatamente o mesmo número de cliques no botão - um na camada e outro para remover). Se você ainda deseja usar o botão, ainda não precisa redimensionar, pois pode clicar no botão >> na borda do painel e qualquer botão oculto aparece em um pop-up (isso se aplica a todos os menus do QGIS).
MappaGnosis

Respostas:

11

Usando um pouco de Python , podemos criar um script startup.py que define a largura do painel de camadas usando o seguinte:

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)

Salve o script no seu /.qgis2/python/diretório. Agora, sempre que você carregar o QGIS, a largura do painel de camadas será definida de acordo.

Joseph
fonte
1
Obrigado Joseph, esta é uma boa solução. No entanto, eu achei que a configuração de uma MinimumWidth mais baixa depois que a FixedWidth tornava a FixedWidth redundante. Portanto, para meus propósitos, usei apenas x.setMinimumWidth (250), 250 foi o número mágico para mim, isso ainda me permitiu ampliar o painel, se necessário.
balex 01/05/19
@balex - Muito bem-vindo, feliz por ter ajudado! Engraçado, quando removo setFixedWidth, não é redimensionado de acordo. Talvez porque eu esteja usando o 2.18.2, mas pelo menos funcione para você :) #
Joseph