পাইথন কোড থেকে কিউজিসভেক্টর লাইয়ারকে কীভাবে আড়াল / প্রদর্শন করবেন?


11

একবার স্তর তৈরি হয়ে গেলে, আমি কীভাবে এটি লুকিয়ে / দেখাব? আমি কিউজিআইএস এর মাধ্যমে চেকবক্সটি নির্বাচন করে একটি নির্দিষ্ট স্তরটির রেন্ডারিং সক্ষম / অক্ষম করতে পারি, তবে পাইথন কোড থেকে আমার প্রোগ্রামিকভাবে এটি করা দরকার।

পাইথন কোড থেকে আমি কীভাবে একটি লেবেল প্রদর্শন / আড়াল (অপসারণ করতে পারি না) দেখাব?

আমি এরকম কিছু খুঁজছি:

aLayer = self.addVectorLayer(uri.uri(), layerName, self.dbConn.getProviderName())
aLayer.Hide()
....
aLayer.Show()

আমি আনন্দিত আপনি ভেরিয়েবলের নামটি vl(আগের প্রশ্নের অনুরূপ কোড নমুনা থেকে) এ পরিবর্তন করেছেন aLayer। ছোট হাতের অক্ষরটি lঅঙ্ক সহ বিভ্রান্ত করা সহজ 1
andytilia

@ অ্যান্ডিলিয়া: আপনি ঠিক বলেছেন। আমি পুরানো প্রশ্নগুলিও সম্পাদনা করেছি।
হাইজেনবাগ

উত্তর:


8

কিংবদন্তি অবজেক্টের মাধ্যমে আপনি স্তরটির দৃশ্যমানতা নিয়ন্ত্রণ করতে পারেন। এটি এখানে, উপরে আপনার নমুনা কোডটি ব্যবহার করে:

aLayer = self.addVectorLayer(uri.uri(), layerName, self.dbConn.getProviderName())
legend = self.legendInterface()  # access the legend
legend.setLayerVisible(aLayer, False)  # hide the layer
# do something else
legend.setLayerVisible(aLayer, True)  # show the layer

# maybe later I want to check if the layer is visible
print legend.isLayerVisible(aLayer)

এখানে ডকুমেন্টেশন legendInterface: http://qgis.org/api/classQgsLegendInterface.html

শুভকামনা!

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