কিউজিআইএস এর লেয়ার প্যানেলে ডিফল্টরূপে স্বচ্ছতা স্লাইডার দেখানো হচ্ছে?


13

লেয়ার উইন্ডোতে ডিফল্টরূপে কোনও স্বচ্ছ স্লাইডার প্রদর্শিত হওয়া সম্ভব, যেমন সরাসরি একটি নতুন স্তর যুক্ত করার পরে, স্তর-বৈশিষ্ট্যগুলির মাধ্যমে প্রতিটি স্তরের ম্যানুয়ালি সক্ষম করার পরিবর্তে?

উত্তর:


11

এটি সংক্ষেপে কিউজিআইএস - বিকাশকারী ফোরামে উল্লেখ করা হয়েছিল যেখানে আপনার স্তরটির জন্য এম্বেড করা উইজেট সক্ষম করতে আপনাকে QgsMapLayer :: setCustomPropertylayer ব্যবহার করতে হবে । এরপরে আমরা একটি itemAddedইভেন্ট যুক্ত করতে পারি যাতে যখনই কোনও স্তর যুক্ত হয়, এটি স্বচ্ছতা উইজেটের সাথে স্বয়ংক্রিয়ভাবে প্রদর্শিত হবে।

তাই আপনি পাইথন কনসোলে নিম্নলিখিতগুলির মতো কিছু ব্যবহার করতে পারেন :

def transparency_slider():
    for layer in QgsMapLayerRegistry.instance().mapLayers().values():
        if layer.customProperty("embeddedWidgets/count") != 1 or layer.customProperty("embeddedWidgets/0/id") != u'transparency':
            layer.setCustomProperty("embeddedWidgets/count", 1)
            layer.setCustomProperty("embeddedWidgets/0/id", "transparency")         
        else:
            pass
        qgis.utils.iface.legendInterface().refreshLayerSymbology(layer)

# Connect "itemAdded" event to "transparency_slider" function
legend = qgis.utils.iface.legendInterface()
legend.itemAdded.connect(transparency_slider)

Win7 64-বিটের জন্য QGIS 2.18.3 এ পরীক্ষিত।


উদাহরণ:

পাইথন কনসোলে কোড প্রবেশ করানো এবং শেফফিল যোগ করার আগে:

আগে

ফলাফল:

পরে


ওটা চমৎকার ছিল! আপনি যদি স্বচ্ছতা স্লাইডার ছাড়াই পরবর্তী ভেক্টর স্তরগুলি আনতে চান তবে আপনি কীভাবে এটি বন্ধ করবেন?
মার্টিন হোগি

1
@ মার্টিনহাগি - আপনি কেবল legend.itemAdded.disconnect(transparency_slider)পাইথন কনসোলে টাইপ করতে পারেন ;)
জোসেফ

@ মার্টিনহাগি - সর্বাধিক স্বাগত, খুশি এটি =))
জোসেফ

1
দুর্দান্ত স্ক্রিপ্ট! কিউজিআইএস পুনরায় চালু করার পরেও কি এটি রাখার কোনও উপায় আছে বা প্রতিটি পুনঃসূচনাতে আপনাকে স্ক্রিপ্টটি সম্পাদন করতে হবে?
ব্লাবাথ

@ পিলিনফ - এই পোস্টে বর্ণিত হিসাবে: কিউজিআইএস প্রকল্প খোলার ক্ষেত্রে পাইথন স্ক্রিপ্ট চালানোর কোনও উপায় আছে কি? , আপনি হয় একটি করে তুলতে পারে startup.py স্ক্রিপ্ট (যা স্ক্রিপ্ট সব QGIS রান শুরুর) অথবা একটি প্রকল্প ম্যাক্রো (যা আপনার প্রকল্প শুধুমাত্র রান) আছে। উভয় পদ্ধতি ব্যবহার করে, আপনাকে যুক্ত করতে হবে import qgis; from qgis.core import QgsMapLayerRegistryআপনার স্ক্রিপ্টে :)
জোসেফ

6

রাস্টার ট্রান্সপারেন্সি নামে একটি প্লাগইন রয়েছে, নাম অনুসারে এটি একটি নির্বাচিত রাস্টার স্তরের স্বচ্ছতা পরিবর্তনের জন্য স্লাইডারগুলির সাথে একটি ডকযোগ্য প্যানেল খুলবে।

প্লাগইনগুলিতে যান> প্লাগইন পরিচালনা ও ইনস্টল করুন - এটি সন্ধান করুন এবং ইনস্টল করুন, আপনার সরঞ্জাম বারগুলিতে একটি নতুন সম্পর্কিত আইকন উপস্থিত হবে।

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