在不关闭Widget的情况下将Qcombobox的Qsettings写入文件
Writing Qsettings of Qcombobox to a file without closing Widget
将 Qtablewidget
运行 作为启动小部件并将 Con
小部件导入到 QTableWidget
。来自 QCombobox
希望保存和恢复到具有目录路径的文件。每个小部件和布局都有效,问题在于 QCombobox 保存功能。想启动 运行 应用程序,当 Qcombobox 的值更改时 self.writeSettings
函数应该 运行 并写入?但它不起作用。想知道这里有什么问题吗?任何帮助表示赞赏。我在下面重现了最少且富有成效的代码。
class CON(QtWidgets.QWidget):
def __init__(self, rowTable, parent=None):
super(CON, self).__init__(parent)
self.rowtable = rowTable
self.combo = QtWidgets.QComboBox()
self.combo.addItems(["15","20","25","30","37","45","50","55",
"60","67","75","85","95","105"])
------------------------------------
self.combo.activated.connect(self.setdata)
self.readSettings()
@QtCore.pyqtSlot(int)
def setdata(self, index):
self.writeSettings()
def readSettings(self):
settings = QtCore.QSettings('files/con{}.ini'.format(self.rowtable) ,QtCore.QSettings.IniFormat)
settings.beginGroup("Con")
self.combo.setCurrentIndex(settings.value("Conoption", 4))
settings.endGroup()
def writeSettings(self):
settings = QtCore.QSettings('files/con{}.ini'.format(self.rowtable) ,QtCore.QSettings.IniFormat)
settings.beginGroup("Con")
settings.setValue("Conoption",self.combo.currentIndex())
settings.endGroup()
我得到的唯一错误是读取的值被解释为 str,因此为避免这种情况,您必须指明读取的类型:
settings.beginGroup("Con")
self.combo.setCurrentIndex(settings.value("Conoption", 4, <b>int</b>))
settings.endGroup()
将 Qtablewidget
运行 作为启动小部件并将 Con
小部件导入到 QTableWidget
。来自 QCombobox
希望保存和恢复到具有目录路径的文件。每个小部件和布局都有效,问题在于 QCombobox 保存功能。想启动 运行 应用程序,当 Qcombobox 的值更改时 self.writeSettings
函数应该 运行 并写入?但它不起作用。想知道这里有什么问题吗?任何帮助表示赞赏。我在下面重现了最少且富有成效的代码。
class CON(QtWidgets.QWidget):
def __init__(self, rowTable, parent=None):
super(CON, self).__init__(parent)
self.rowtable = rowTable
self.combo = QtWidgets.QComboBox()
self.combo.addItems(["15","20","25","30","37","45","50","55",
"60","67","75","85","95","105"])
------------------------------------
self.combo.activated.connect(self.setdata)
self.readSettings()
@QtCore.pyqtSlot(int)
def setdata(self, index):
self.writeSettings()
def readSettings(self):
settings = QtCore.QSettings('files/con{}.ini'.format(self.rowtable) ,QtCore.QSettings.IniFormat)
settings.beginGroup("Con")
self.combo.setCurrentIndex(settings.value("Conoption", 4))
settings.endGroup()
def writeSettings(self):
settings = QtCore.QSettings('files/con{}.ini'.format(self.rowtable) ,QtCore.QSettings.IniFormat)
settings.beginGroup("Con")
settings.setValue("Conoption",self.combo.currentIndex())
settings.endGroup()
我得到的唯一错误是读取的值被解释为 str,因此为避免这种情况,您必须指明读取的类型:
settings.beginGroup("Con")
self.combo.setCurrentIndex(settings.value("Conoption", 4, <b>int</b>))
settings.endGroup()