27 lines
864 B
Python
27 lines
864 B
Python
#!/usr/bin/python
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
ViewModel 层。
|
||
|
||
ViewModel 连接界面操作与业务数据:按钮点击后不直接操作界面,
|
||
而是修改 Model;Model 再通过事件通道通知 View 刷新。
|
||
"""
|
||
from mvvm.model import *
|
||
|
||
|
||
class MainWinVM(object):
|
||
"""主窗口 ViewModel:保存主窗口需要的数据模型和按钮事件逻辑。"""
|
||
|
||
def __init__(self):
|
||
# 创建日志内容 Model。
|
||
# 主题 "log_to_view" 表示:这个 Model 的变化要通知日志 View。
|
||
self.model_log = StringModel('log_to_view', '启动日志')
|
||
|
||
def event_log_yes(self):
|
||
"""Yes 按钮点击事件:写入一条 yes 日志。"""
|
||
self.model_log.value = 'log: yes!!!'
|
||
|
||
def event_log_no(self):
|
||
"""No 按钮点击事件:写入一条 no 日志。"""
|
||
self.model_log.value = 'log: no~~~'
|