【traits-traitsui-基础】-02-控件Str/Button

系统:windows 7语言版本:anaconda3-4.3.0.1-windows-x86_64编辑器:jetbrains pycharm community edition 2016.3.2

本系列将探讨

traits
traitsui
的基础知识。本文将介绍两个常用的控件:
Str
Button
,即字符串输入框和按钮。

第一部分:示例

本示例提供了一个界面,用户可以在输入框中输入内容,并通过点击按钮显示输入的内容。以下是运行结果的截图:

第二部分:代码

代码语言:Python 代码运行次数:0

import win32api
import win32con
from traits.api import HasTraits, Str, Button, on_trait_change
from traitsui.api import View, Item, Group, HGroup, VGroup

class Ui(HasTraits):
    input = Str()
    button = Button("点我")

    def _button_fired(self):
        input_str = self.input
        tips = "输入内容为:\n\n{0}".format(input_str)
        win32api.MessageBox(0, tips, "提示", win32con.MB_OK)

    g1 = [Item("input", style="simple", label="输入内容", tooltip="写入字符串", emphasized=True),
          "_",
          Item("button", style="simple", show_label=False)]

    view = View(Group(*g1, label="控件Str-Button", show_border=True),
                resizable=True, title="ui")

ui = Ui()
ui.configure_traits()

代码截图:

第三部分:代码解读

整体代码分为三个部分:

  1. 控件定义
  2. 事件定义:使用
    def
    定义
  3. 视图定义:使用
    View
    定义

首先,导入所需的模块。然后定义界面类的类,并运行界面。

如何定义按钮点击事件的响应函数?定义一个函数,函数名称必须是固定的格式:

def _控件名称_fired(self):

如何获取

Str
控件中输入的值?使用
self.控件变量名
,在本示例中是
self.input

录入提示使用

tooltip
属性,当鼠标移动到控件上时会显示提示。加粗强调使用
emphasized
属性。

关于

Item
类的其他属性,可以查看其源代码。在这里使用的是Eclipse的方式,查看源代码的快捷键为F12或者Ctrl加鼠标左键。查看快捷键可以通过keymap来查找,但有些可能无法使用或没有显示,可以通过百度搜索并尝试不同的快捷键。