使用以下命令创建QSplitter之后:
splitter=QtGui.QSplitter()
splitter.addWidget(QtGui.QLabel())
splitter.addWidget(QtGui.QLabel())
用户只需向侧面拖动分离器的手柄位置,就可以使其整体化。
每次退出应用程序时,我想查询Splitter句柄位置。
可以将这些数据保存到应用程序配置文件中,并使用
拆分器的
.moveSplitter(index, pos)
方法。显然,要使用此方法,我将需要Splitter的
indexes
及其pos
值。应该使用什么QSplitter
属性/方法来获取其索引以及每个索引的句柄pos
值? 最佳答案
可以使用其QSplitter
方法获取.saveState()
当前状态的“快照”,该方法返回PyQt4.QtCore.QByteArray
对象。返回的QByteArray对象可以保存到磁盘,以后可以使用QtCore.QSettings
对象进行检索。使用其restoreState()
方法将检索到的拆分器状态分配给它“返回”。
例:
splitter=QtGui.QSplitter()
iniFile=os.path.join(os.path.expanduser('~'),'myAppName/myAppNameSettings.ini')
settings=QtCore.QSettings(iniFile, QtCore.QSettings.IniFormat)
splitterSettings=splitter.saveState()
if splitterSettings:
settings.setValue("splitterSettings", splitter.saveState())
在应用上打开:
settings=QtCore.QSettings(iniFile, QtCore.QSettings.IniFormat)
splitterSettings=settings.value("splitterSettings").toByteArray()
if splitterSettings:
splitter.restoreState(splitterSettings)