创建QSplitter后:
splitter=QtGui.QSplitter()
splitter.addWidget(QtGui.QLabel())
splitter.addWidget(QtGui.QLabel())
用户可以通过向侧面拖动来消费分割器的手柄位置。
每次退出应用程序时,我都想查询Splitter句柄位置。
此数据可以保存到App配置文件中,并且可以使用恢复Splitter设置
Splitter的.moveSplitter(index, pos)
方法。
显然,要使用此方法,我需要Splitter的indexes
及其pos
值。应该使用哪些QSplitter
属性/方法来获取其索引以及每个索引处理pos
值?
答案 0 :(得分:2)
A"快照"可以使用返回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)