Проверьте, использует ли QSettings значение по умолчанию - PullRequest
0 голосов
/ 01 ноября 2018

Есть ли способ проверить, использует ли QSettings значение по умолчанию?

Например:

def setup_ui(self):
    self.user_input = QtGui.QLineEdit()
    self.user_input.setText("Input something...")
    ...
    ...

    # Check for any stored settings
    self.user_input.setText(self.settings.value("userInput", "Input something..."))


def load_settings(self):
    self.settings = QtCore.QSettings('TEST', 'My_Tool')
    input = self.settings.value("userInput", "Input something...")


def save_settings(self):
    settings = QtCore.QSettings('TEST', 'My_Tool')
    settings.setValue('userInput', self.user_input.currentText())

Если я перезапускаю свой инструмент, есть некоторые функции, которые будут использовать текущую текстовую строку в QLineEdit. До сих пор для того, чтобы я обошел значение по умолчанию, я кодировал свои функции следующим образом:

def test_func(self, input_text):
    if not input_text == 'Input something...':
        # Do something...

1 Ответ

0 голосов
/ 02 ноября 2018

Ваш вопрос эквивалентен запросу, если ключ существует, поэтому вы должны использовать метод contains():

if settings.contains("userInput"):
    # there is the key in QSettings

else:
    # there is no key in QSettings
...