saveState()
,saveGeometry()
resize()和move()方法,以及其他答案提到的 closeEvent()和 QSettings.这是一个例子,以获得这个想法: class MyWindow(QMainWindow): def __init__(self,parent): QMainWindow.__init__(self,parent) self.settings = QSettings("MyCompany","MyApp") self.restoreGeometry(self.settings.value("geometry","")) self.restoreState(self.settings.value("windowstate","")) def closeEvent(self,event): self.settings.setValue("geometry",self.saveGeometry()) self.settings.setValue("windowstate",self.saveState()) QMainWindow.closeEvent(self,event)
编辑:
更新了使用PyQt API v2的答案.如果使用API v1,则必须手动将settings.value()的结果转换为ByteArray
self.restoreState(self.settings.value("windowstate").toByteArray())
我还使用了窗口自己的size()和pos(),因为我已经从.ui文件加载了窗口.如果从头开始编码窗口,您可以在这些行之前将其设置为默认值.对于状态,我默认为一个空字符串,该函数愉快地接受为空ByteArray并且在第一次运行时不执行任何 *** 作.
总结以上是内存溢出为你收集整理的python – PyQT窗口:我想记住它关闭的位置全部内容,希望文章能够帮你解决python – PyQT窗口:我想记住它关闭的位置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)