Yes, you can store settings in separate files/ways with
QSettings, and within the same
Q(Core)Application. This makes it ideal for what you are looking to do.
When initializing your PyQGIS plugin's
QSettings, you will want to do something like this for a standard settings setup:
my_settings = QtCore.QSettings(QtCore.QSettings.IniFormat,
Or for a standalone file setup:
my_settings = QtCore.QSettings("/path/to/mysettings.ini",
Edit: if you are going to use a standalone file, consider storing it in the
QgsApplication.qgisSettingsDirPath() directory, e.g. usually resolves to
What you DO NOT want to do, like many PyQGIS plugin developers have often done, is the following:
my_settings = QtCore.QSettings()
Since your plugin is running inside of an existing
QApplication, this will (probably) return a reference to QGIS's
QSettings object, which is not necessarily a good place to store plugin settings. Users are often apt to remove those settings in an attempt to fix an issue with the application.