系统:Windows 7
语言版本:Anaconda3-4.3.0.1-Windows-x86_64
编辑器:JetBrains PyCharm Community Edition 2016.3.2
- 本系列介绍
traits
,traitsui
的一些基础知识- 今天介绍常用控件,
Range/Enum
Part 1:示例
- 提供一个界面,可以进行两个数的加减运算
- 两个数本身是在一定范围内,通过Range控件实现
界面效果
运行效果
Part 2:代码
import win32api
import win32con
from traits.api import HasTraits, Range, Enum, Str, Button
from traitsui.api import View, Item, Group, HGroup, VGroup
class Ui(HasTraits):
operator_1 = Range(1, 10, 10)
operator_2 = Range(2, 20, 2)
list_choice = ["+", "-"]
choice_ = Enum(list_choice)
result = Str()
equal_str = Str(" = ")
button = Button("计算")
def _button_fired(self):
operator_1_value = float(self.operator_1)
operator_2_value = float(self.operator_2)
choice_choose = self.choice_
if choice_choose == "+":
result_value = operator_1_value + operator_2_value
else:
result_value = operator_1_value - operator_2_value
self.result = str(int(result_value))
tips = "计算完毕"
win32api.MessageBox(0, tips, "提示", win32con.MB_OK)
g1 = Group(Item("operator_1", style="simple", label="数1 ", emphasized=True), label="因子1", show_border=True)
g2 = Group(Item("choice_", style="simple", show_label=False), show_border=True)
g3 = Group(Item("operator_2", style="simple", label="数2 ", emphasized=True), label="因子2", show_border=True)
g4 = Group(Item("equal_str", style="readonly", show_label=False), show_border=True)
g5 = Group(Item("result", style="simple", label="结果"), show_border=True)
g6 = Group(Item("button", style="simple", show_label=False))
view = View(VGroup(HGroup(g1, g2, g3, g4, g5), g6),
resizable=True, title="加减计算器")
ui = Ui()
ui.configure_traits()
代码截图
Part 3:部分代码解读
- 整体框架:控件定义;函数定义;视图定义
-
operator_1 = Range(1, 10, 10)
,取值范围为1-10,默认取值为10,最后一个数字表示默认取值 -
Enum
实现的效果就是一个下拉列表 -
float
实现转换为实数的效果,int
转换为整数,str
转换为字符串 -
HGroup
:效果是将其中的Group横向排列;同理VGroup
竖向排列
以上为本次的学习内容,下回见
常按图片识别二维码,关注本公众号
Python 优雅 帅气
12x0.8.jpg
网友评论