Fix some bugs See merge request Bullet64/restic_ui_pywebio!71
faviconGitLab (gitlab.com)
In meinem Restic UI nutze ich PyQt6 und das wollte ich jetzt mal mit PyQt6 ausprobieren. Hatte gedacht, das wäre schnell erledigt -Nein ist es nicht
# set path for user directory
PATH = (USERHOME + '/' '.restic_ui' + '/' + FILE)
settings = QSettings(PATH, QSettings.IniFormat)
Das wirft aber in PyQt6 nur einen Traceback
Traceback (most recent call last):
File "/home/frank/qsettings/test.py", line 5, in <module>
settings = QSettings(PATH, QSettings.IniFormat)
AttributeError: type object 'QSettings' has no attribute 'IniFormat'
Jo, was machen? Viel findet man nicht im Netz, also ausprobieren.
from PyQt6.QtCore import QSettings
# Objekt erzeugen
settings = QSettings("Frank Mankel", "Restic UI")
# Pfad ausgeben
print("Settings file located at:", settings.fileName())
# Test Variablen
name = 'TEST'
value = 100
# Zwei Testwerte setzen
settings.setValue(name, value)
settings.setValue("editor/wrapMargin", 68)
# Zwei Testwerte ausgeben
print(settings.value('TEST'))
print(settings.value('editor/wrapMargin'))
(qsettings-kBmIZW-V) frank@frank-MS-7C37:~/qsettings$ /home/frank/.local/share/virtualenvs/qsettings-kBmIZW-V/bin/python /home/frank/qsettings/test.py
Settings file located at: /home/frank/.config/Frank Mankel/Restic UI.conf
100
68
[General]
TEST=100
[editor]
wrapMargin=68
Problem gelöst, ich weiß jetzt wie es geht und kann mich jetzt dran setzen, das in meinem PyQt6 Projekt umzubauen, wenn ich mal Lust habe.... Das wird bestimmt nicht die letzte Hürde sein...
@martin, would you be willing to document the usage of QSettings? Maybe in your book, or here. I haven’t found any good information while roaming throughout the Internet. Well, I have some rough ideas, but I want to kno…
Python GUIs Forum (forum.pythonguis.com)
Das hier
settings = QSettings("Frank_Mankel", "Restic_UI")
erzeugt unter
/home/frank/.config/Frank_Mankel/Restic_UI.conf
die Konfigurationsdatei.
Das hier
settings = QSettings("Restic_UI")
erzeugt unter
/home/frank/.config/Restic_UI.conf
die Konfigurationsdatei.
Damit habe ich die grundlegenden Dinge, hoffentlich , verstanden.
Für den Rest mal in die Dokumentation schauen.
Sehr hilfreich war auch mal ein Blick auf die Definition der Klasse. Rechtsklick auf QSettings und dann Go to Definition
class QSettings(QObject):
class Scope(enum.Enum):
UserScope = ... # type: QSettings.Scope
SystemScope = ... # type: QSettings.Scope
class Format(enum.Enum):
NativeFormat = ... # type: QSettings.Format
IniFormat = ... # type: QSettings.Format
InvalidFormat = ... # type: QSettings.Format
class Status(enum.Enum):
NoError = ... # type: QSettings.Status
AccessError = ... # type: QSettings.Status
FormatError = ... # type: QSettings.Status
[..gekürzt..]