Встановлення ширини панелі шарів у QGIS?


11

Коли я відкриваю QGIS, панель шарів за замовчуванням встановлюється на ширину, на якій не відображається кнопка "Видалити шар / групу". Тому я повинен змінити розмір панелі, щоб показувати кнопку кожного разу, коли я відкриваю QGIS.

Чи можна встановити ширину за замовчуванням для цієї панелі, щоб мені не довелося змінювати її розмір?

Я використовую QGIS 2.18.5 в Windows 10.


Я додаю ще одну панель (у моєму випадку Інструмент розширеного оцифрування чи інструмент значення). Деякі з цих панелей намагаються зберегти свою ширину. Але я згоден, було б добре, якщо можна встановити ширину за замовчуванням.
Казухіто

Було б добре, щоб проект пам’ятав, але вам не потрібна ця кнопка, оскільки функція доступна через спливаюче меню клацання правою кнопкою миші, тому не потрібно змінювати розмір (тобто це точно така ж кількість натискань кнопок - один на шар і один для видалення). Якщо ви все ще хочете скористатися кнопкою, вам все одно не потрібно змінювати розмір, оскільки ви можете натиснути кнопку >> на краю панелі, а будь-які приховані кнопки з’являться у спливаючому вікні (це стосується всіх меню QGIS).
MappaGnosis

Відповіді:


11

Використовуючи трохи Python , ми могли б створити сценарій startup.py, який встановлює ширину панелі шарів, використовуючи наступне:

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)

Збережіть сценарій у своєму /.qgis2/python/каталозі. Тепер, коли ви завантажуєте QGIS, ширина панелі шарів буде встановлена ​​відповідно.


1
Дякую, Йосип, це хороше рішення. Однак я виявив, що встановлення меншої мінімальної ширини після фіксованої ширини зробило фіксовану ширину зайвою. Тож для своїх цілей я використовував лише x.setMinimumWidth (250), 250 було для мене чарівним числом, це все ж дозволило мені зробити панель ширшою, якщо потрібно.
balex

@balex - Ласкаво просимо, радий, що це допомогло! Смішно, коли я видаляю setFixedWidth, він не змінює розмір відповідно. Можливо тому, що я використовую 2.18.2, але принаймні це працює для вас :)
Йосип

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.