创建 QSplitter 之后:
splitter=QtGui.QSplitter()
splitter.addWidget(QtGui.QLabel())
splitter.addWidget(QtGui.QLabel())
用户只需侧向拖动即可自定义分离器 handle 的位置。
每次退出应用程序时,我想查询 Splitter 句柄位置。
该数据可以保存到应用程序配置文件中,并且可以使用以下命令恢复拆分器设置
Splitter 的 .moveSplitter(index, pos)
方法。
显然要使用此方法,我需要拆分器的索引
及其pos
值。应使用什么 QSplitter
属性/方法来获取其索引和每个索引的句柄 pos
值?
最佳答案
可以使用返回 PyQt4.QtCore.QByteArray
的 .saveState()
方法获取 QSplitter
当前状态的“快照” > 对象。返回的 QByteArray 对象可以保存到磁盘并稍后使用 QtCore.QSettings 对象进行检索。使用其 restoreState()
方法将检索到的 Splitter 状态“返回”给它。
示例:
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)
关于python - 如何获取QSplitter索引和位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25025501/