Fed*_*ico 3 c++ user-interface design-patterns qt4
我想知道你是否认为使用类似于RAII的模式来管理Qt中的GUI状态是合理的.通过GUI状态我的意思是:我有一些小部件(包括鼠标光标状态)我想离开某些方法后我想去(不)可见/启用/改变,我不想把我所做的一切都放在一个巨大的尝试抓住这种方式:
widget1->show();
...
widgetN->show();
try {
...
}
catch(...) {
widget1->hide();
...
widgetN->hide();
throw;
}
widget1->hide();
...
widgetN->hide();
Run Code Online (Sandbox Code Playgroud)
如果我创建一个对象,允许我将hide/setEnabled/setCursor函数(可能是一个boost函数)与其构造函数关联,并在其析构函数上调用此关联函数(前提是此函数可以抛出的所有异常都会被丢弃/丢失)析构函数)我可以有一个更清晰的代码.这合理吗?我没有看到什么?
任何意见/建议都会受到欢迎.
提前致谢,
费德里科
这是完全合理的.您所追求的技术称为ScopeGuard,在Boost中称为ScopeExit.
我们的想法是,当您第一次进行更改时,您可以在范围的末尾定义一些要运行的代码,然后处理其余的代码.如果需要,您可以"解雇"代码.
我打算举个例子,但是我在打电话.
| 归档时间: |
|
| 查看次数: |
472 次 |
| 最近记录: |