首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【traits-traitsui-基础】-01-引言(Date/Time)

系统:Windows 7 语言版本:Anaconda3-4.3.0.1-Windows-x86_64 编辑器:pycharm-community-2016.3.2

  • 本系列介绍traitstraitsui的一些基础知识,这两个库都Enthought公司的产品
  • 这两个模块用来进行界面的一些开发,如果对界面的要求不是那么高,关注功能的实现及实现的成本,那么还是非常不错的选择
  • 针对自己常使用的功能进行介绍。主要参考资料,一个是官网,一个是《Python科学计算》这本书

官网: traitshttp://docs.enthought.com/traits/ traitsuihttp://docs.enthought.com/traitsui/traitsui_user_manual/index.html

Part 1:前言

  1. 其实目前为止,关于这两个模块,更深层的理解还是没有的,先用起来
  2. 介绍一些基础的知识吧,如果你使用过Access之类的进行过界面开发,那么其实没啥大区别
  3. 简单的界面构成:
    • 定义控件(各种traits类型):控制输入的,例如只能输入字符串,或者只能输入时间信息等
    • 视图组织:对于这些控件如何布局
    • 视图整体显示

Part 2:示例

  1. 统计某项指标时,与时间相关,需要人工给出时间信息
  2. 涉及到控件有: DateTime

界面

动图

Part 3:代码

代码语言:javascript
复制
from traits.api import HasTraits, Date, Timefrom traitsui.api import View, Item, Group, HGroupimport datetimeclass FirstUi(HasTraits):
   start_date = Date(datetime.date.today())
   start_time = Time(datetime.time(11, 30, 00))   end_date = Date(datetime.datetime.now())
   end_time = Time(datetime.time(11, 29, 59))   g1 = [Item("start_date", style="simple", label="统计开始日期"),
         Item("start_date", style="custom", label="统计开始日期"),
          "_",
         Item("start_time", style="simple", label="统计开始时间")]   g2 = [Item("end_date", style="simple", label="统计结束日期"),
         Item("end_date", style="custom", label="统计结束日期"),
          "_",
         Item("end_time", style="simple", label="统计结束时间")]   view = View(HGroup(Group(*g1, label="开始时间", show_border=True),
                      Group(*g2, label="结束时间", show_border=True)),
               resizable=True, title=u"指标统计")ui = FirstUi()
ui.configure_traits()

代码截图

Part 4:部分代码解读

  1. style="simple"style="custom",通过style参数设置不同的展现形式,常用的有四种
    • simple:缺省值,简单模式
    • custom:比较丰富
    • text:文本形式
    • readonly,只读
  2. datetime.date.today()获取今天日期,datetime.datetime.now()获取今天日期和时间

readonly效果

两种日期

代码敲起来,改一改,看看不同参数的意思

下一篇
举报
领券