X11会话管理与Qt/Embedded Linux开发指南
1. X11会话管理
在X11系统中,当我们注销时,部分窗口管理器会询问是否保存会话。若选择保存,下次登录时,之前运行的应用程序将自动重启,且保持相同的屏幕位置和理想状态。负责保存和恢复会话的X11特定组件被称作会话管理器。
为使Qt/X11应用程序感知会话管理器,需重新实现 QApplication::saveState() 来保存应用状态。而Microsoft Windows和部分Unix系统提供了名为休眠的机制,用户使计算机进入休眠后,操作系统将计算机内存转储到磁盘,唤醒时再重新加载,应用程序无需做任何操作。
当用户发起关机操作,可通过重新实现 QApplication::commitData() 在关机前进行控制,这样能保存未保存的数据,并可根据需要与用户交互,此功能在X11和Windows系统均支持。
下面通过一个支持会话管理的井字棋(Tic - Tac - Toe)应用程序代码来深入探讨会话管理。
1.1 主函数
int main(int argc, char *argv[])
{
Application app(argc, argv);
TicTacToe toe;
toe.setObjectName("toe");
app.setTicTacToe(&toe);
toe.show();
return app.exec();
}
此代码
超级会员免费看
订阅专栏 解锁全文
6600

被折叠的 条评论
为什么被折叠?



