最近做一款仪器设置功能时经常 碰到用户编辑完信息后,不点击保存按钮切换界面需提示用户是否保存问题。处理思路如下:
1.写一个 父类 抽象类 定义切换接口 ,子类继承父类 实现抽象接口 。 例如 UIswitch 为抽象类 Setupframe 继承该 Uiswith 抽象类, 实现其切换接口 。
在其切换接口里 管理 SetupFrame 子类下 所有切换 逻辑, 同样 SetupFrame 拿到一个基类抽象接口 来操作如下的子类 ,如下 子类 只需实现 其 是否切换 和保存逻辑即可
,提示用户是否保存的接口在 SetupFrame 中弹出
2. tabWidget 之间的界面切换 , 可以连接 不同tab切换的 tabBarClick(int) 信号 然后在其槽函数中 做如一一样的切换操作实现
3. tableWidget 点击 不同行row ,在row 切换之前 做一系列逻辑判断 ,实现方法 自定义一个tableWidget 实现 MousePressEvent(QMounsePress ev) 在其拦截 切换前 进行一系列处理逻辑。 获取当前点击 行 方式 为 调用 tem(ev->pos()) 获取 点击的QTableWidgetItem 的指针 pressItem, 然后 通过 pressItem ->row() 获取其按下的行