1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| #!/usr/bin/python
# -*- coding: utf-8 -*-
# Python 3
"""
Exemple d'utilisation de QSettings
"""
import sys
import os
from PyQt5 import (QtWidgets, QtCore)
#############################################################################
class Fenetre(QtWidgets.QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.resize(300, 200)
configini = os.path.join(os.path.expanduser('~'), ".test03.ini")
settings = QtCore.QSettings(configini, QtCore.QSettings.IniFormat)
int_value = settings.value('int_value', 99, type=int)
point_value = settings.value('point_value', QtCore.QPoint(5, 5), type="QPoint")
list_value = settings.value('list_value', [], type=int)
dict_value = settings.value('dict_value', {}, type=int)
toto = settings.value('toto', 'abcd', type=str) # la clé 'toto' n'existe pas!
QtWidgets.QMessageBox.information(self,
"Données de QSettings",
("int_value: %s\n" % repr(int_value))+\
("point_value: %s\n" % repr(point_value))+\
("list_value: %s\n" % repr(list_value))+\
("dict_value: %s\n" % repr(dict_value))+\
"toto: %s\n" % toto)
def closeEvent(self, event):
configini = os.path.join(os.path.expanduser('~'), ".test03.ini")
settings = QtCore.QSettings(configini, QtCore.QSettings.IniFormat)
settings.setValue('int_value', 42)
settings.setValue('point_value', QtCore.QPoint(10, 12))
settings.setValue('list_value', [1, 2, 3])
settings.setValue('dict_value', {'one': 1, 'two': 2})
# This will write the setting to the platform specific storage.
del settings
event.accept()
#############################################################################
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
fenetre = Fenetre()
fenetre.setAttribute(QtCore.Qt.WA_DeleteOnClose)
fenetre.show()
sys.exit(app.exec_()) |
Partager