আপনি যে তথ্য চান তা পেতে আপনার QSettings
ক্লাসটি ব্যবহার করা দরকার । এটি উইন্ডোজ রেজিস্ট্রির মতো একটি শ্রেণিবিন্যাসিক কাঠামো ব্যবহার করে। আপনার কাছে কিউজিআইএস এর সর্বশেষতম সংস্করণ থাকলে আপনি সেটিংস> বিকল্পগুলি> উন্নত ব্যবহার করে এই শ্রেণিবিন্যাসটি দেখতে পারেন
নীচের কোডটি পাইথন কনসোল থেকে কাজ করে। আমি এটি কোনও প্লাগইন বা কিউজিআইএস এর বাইরে থেকে চেষ্টা করে দেখিনি, সুতরাং এই ক্ষেত্রে কিছু অতিরিক্ত কাজের প্রয়োজন হতে পারে।
শ্রেণিবিন্যাস দেখতে, কিউজিআইএস পাইথন কনসোলে এটি ব্যবহার করুন ...
from PyQt4.QtCore import QSettings
qs = QSettings()
for k in sorted(qs.allKeys())
print k
আউটপুট কিছু ইঙ্গিত দেয় ...
.. snip ..
Plugins/searchPathsForPlugins
Plugins/valuetool/mouseClick
PostgreSQL/connections/GEODEMO/allowGeometrylessTables
PostgreSQL/connections/GEODEMO/database
PostgreSQL/connections/GEODEMO/dontResolveType
PostgreSQL/connections/GEODEMO/estimatedMetadata
.. snip ...
সুতরাং পোস্টগ্রিএসএসকিউএল / সংযোগগুলি / উপসর্গের জন্য ফিল্টার করে আপনি ডাটাবেস সংযোগের বিশদটি পেতে পারেন
সুতরাং এক্ষেত্রে আমার জিওডেমো নামে একটি সংযোগ রয়েছে, আমি এর মতো ব্যবহারকারীর নামটি পেতে পারি ...
from PyQt4.QtCore import QSettings
qs = QSettings()
print qs.value("PostgreSQL/connections/GEODEMO/username")
>> steven
একবার আপনার মনে একটি ডাটাবেস পরে, আপনি PostGisDBConnector শ্রেণীর সাহায্যে টেবিলের একটি তালিকা পুনরুদ্ধার করতে পারেন ।
import db_manager.db_plugins.postgis.connector as con
from qgis.core import QgsDataSourceURI
uri = QgsDataSourceURI()
uri.setConnection("127.0.0.1", "5432", "database_name", "username", "password")
c = con.PostGisDBConnector(uri)
print c
print c.getTables()
মনে রাখবেন যে বন্দরটি একটি সংখ্যা নয়, একটি স্ট্রিং হওয়া উচিত।