简介:每次当我们自己写的程序运行起来时,我们把界面调整到我们所喜欢的布局。但是当我们把程序关闭了,下次重启程序时,我们之前调整的界面布局没有了,恢复到了QT自默认的界面的界面布局。这对于有我们操作非常不方便,还好QT提供了保存界面布局和恢复界面布局的接口,我们只需要调用一下接口就可以保存程序最新的界面布局,下次重新启动时再调用对用的接口恢复一下界面布局就可了。
第一步:保存界面布局到文件(Layout.ini),使用QT接口函数saveState(),使用方法如下所示。
1.1、在程序退出是调用一下 下面接口,保存一下界面不到到Layout.ini文件即可。
//保存界面布局到Layout.ini
QFile file("/home/mark/Desktop/.Layout.ini");
if (file.open(QIODevice::WriteOnly))
{
QDataStream out(&file);
out << this->saveState();
file.close();
}
1.2、注意:Layout.ini文件前面加一个. 即 .Layout.ini,表示这是一个隐藏文件,在linux系统中创建文件时,如果在文件前面加一个.则系统就会自动隐藏这个文件,如果想查看到这个文件,可以去到文件所在的目录使用快捷键Ctrl+H就可以查看隐藏文件,再次按Ctrl+H就会重新隐藏文件。
第二步:恢复界面布局,从文件Layout.ini读取最新的界面布局状态,使用QT接口函数restoreState(),使用方法如下所示。
2.1、在程序启动时调用一下 下面的接口,就可以恢复最新的界面布局。
//从Layout.ini恢复界面布局
QFile file("/home/mark/Desktop/.Layout.ini");
if (file.open(QIODevice::ReadOnly))
{
QByteArray ba;
QDataStream in(&file);
in >> ba;
file.close();
this->restoreState(ba);
}