পাইকিজিআইএস ব্যবহার করে কিউজিআইএস প্রসঙ্গ মেনু থেকে "হিসাবে সংরক্ষণ করুন" সরান [বন্ধ]


8

আমি কিউজিআইএস স্তরের কনটেক্সট মেনু থেকে বিদ্যমান বিকল্পটি ("হিসাবে সংরক্ষণ করুন") মুছে ফেলতে চাই, আমি এখন পর্যন্ত যা পেয়েছি তা হল, নতুন ক্রিয়া যুক্ত করতে LegendItems, বা নতুন বিকল্পগুলির সাথে সম্পূর্ণরূপে ওভাররাইট করা। তবে আমি কোনও বিদ্যমান ডিফল্ট কনটেক্সট মেনু বিকল্পটি সরিয়ে ফেলতে সক্ষম হয়ে এটি ব্যবহার করে কোনও বিকল্প খুঁজে পাইনি।

আমি যা দেখেছি সেখানে মেন্যুপ্রাইডার () পদ্ধতি উপলব্ধ আছে, তবে এই পদ্ধতিটির সাথে কোনও বিবরণ পেতে পারেনি।

কিউজিআইএস-এর প্রসঙ্গ মেনু থেকে আমি কীভাবে বিদ্যমান "সেভ এস" বিকল্পটি সরাতে পারি?


সমস্ত অপশন অপসারণ এবং একটি কাস্টম বিকল্প যুক্ত করার জন্য এটি পরীক্ষা করে দেখুন: gis.stackexchange.com/a/250170/49538
ফ্রাঙ্ক রাগ

আমি ইতিমধ্যে এটি দেখেছি, যা সন্ধান করছে তা হ'ল বিদ্যমান প্রসঙ্গ মেনুটির কেবল একটি ক্রিয়া সরিয়ে ফেলা।
আহসান মুখতার

আমি কেবল প্রথম ক্লিক করে কাজ করে একটি খসড়া তৈরি করি, আমার মনে হয় যে কোনও ক্রিয়াকলাপ মুছে ফেলা যায় না You আপনি এই প্রসঙ্গে মেনুর প্রতিলিপি তৈরি করেছেন, তবে সমস্ত পদক্ষেপের কিউজিআইএস এপিতে পাইথন পদ্ধতি নেই
ফ্রাঙ্ক রাগা

1
আমি কীভাবে সমস্ত ডিফল্ট ক্রিয়াগুলি প্রতিলিপি করতে পারি?
আহসান মুখতার

এই উদাহরণটি দেখুন github.com/valheran/QDriller/blob/… এবং qgis.org/api/2.18/classQgsLayerTreeViewDefaultAifications.html তবে সমস্ত ক্রিয়নের পদ্ধতি নেই
ফ্রাঙ্ক রাগ

উত্তর:


2

আপনার নিজস্ব কাস্টম ক্লাসটি ব্যবহার করে আপনার বর্তমান প্রসঙ্গ মেনুটিকে ওভাররাইড করতে হবে

" রফতানি " বিকল্প অপসারণের জন্য ন্যূনতম নমুনা কোড

from qgis.gui import QgsLayerTreeViewMenuProvider

ltv = iface.layerTreeView()
mp=ltv.menuProvider()
cm = mp.createContextMenu()

for action in cm.actions():
    # Need text value ,this object not have ObjectName
    if action.text() == "Exportar":
        cm.removeAction(action);
    #print (action.objectName())

class CustomMenuProvider(QgsLayerTreeViewMenuProvider):

  def __init__(self, view, actions):
    QgsLayerTreeViewMenuProvider.__init__(self)
    self.view = view
    self.defaultActions = actions

  def createContextMenu(self):
    if not self.view.currentLayer():
      return None
    m = QMenu()
    m.addActions(self.defaultActions)
    return m


provider = CustomMenuProvider(ltv, cm.actions())
ltv.setMenuProvider(provider)

-1

"সেটিংস => ইন্টারফেস কাস্টমাইজেশন" নেভিগেট করুন এবং "মেনু / mProjectMenu" এ "mActionSaveProjectAs" অক্ষম করুন।


1
এটি কিউজিআইএসের প্রকল্পটি অক্ষম করার বিকল্প, তবে স্তরটি নয়, তা কি?
আহসান মুখতার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.