系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:JetBrains PyCharm Community Edition 2016.3.2
- 本系列介绍
traits
,traitsui
的一些基础知识- 今天介绍两个常用控件,
Str
,Button
,中文来说,就是字符串录入及按钮
Part 1:示例
- 提供一个界面,在输入框输入,点击按钮显示输入内容,如下图
运行结果

Part 2:代码
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()
代码截图

Part 3:代码解读
- 整体代码分为3个部分
- 导入所需模块
- 定义界面端的类
a. 控件定义
b. 事件定义:def
c. 视图定义:View
- 运行界面端
- 如何定义按钮点击相应事件?
- 定义一个函数
def
,函数名称必须是固定的,def _控件名称_fired(self):
- 定义一个函数
- 如何获取
Str
控件中录入的值?- self.控件变量名,本示例中:
self.input
- self.控件变量名,本示例中:
- 录入提示:
tooltip
属性,鼠标移动到控件位置,会显示提示 - 加粗强调:
emphasized
- 关于
Item
类的其它属性可以查看其源代码- 源代码查看:我这里使用的是Eclipse方式,快捷键为F12或者ctrl加鼠标左键
- 查看keymap中显示的有些不能用或者没有显示,可以百度上搜索一下并自己尝试一下
快捷键查看keymap

以上为本次的学习内容,下回见
常按图片识别二维码,关注本公众号
Python 优雅 帅气

网友评论