【问题标题】:Check if QSettings is using the default value检查 QSettings 是否使用默认值
【发布时间】:2019-04-06 02:35:51
【问题描述】:

有没有办法检查 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...

【问题讨论】:

    标签: python pyqt pyqt4 qsettings


    【解决方案1】:

    您的问题相当于询问密钥是否存在,因此您必须使用contains() 方法:

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

    【讨论】:

      猜你喜欢
      • 2012-01-19
      • 1970-01-01
      • 2018-10-10
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 1970-01-01
      相关资源
      最近更新 更多