用Traits进行界面开发

2024-04-24 22:08
文章标签 进行 开发 界面 traits

本文主要是介绍用Traits进行界面开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在开发科学计算程序时,我们希望快速实现一个够用的界面,让用户能够交互式的处理数据,而又不希望在界面制作上花费过多的精力。以traits为基础、以Model-View-Controller为设计思想的TraitUI库就是实现这一理想的最佳伴侣。
1.1 安装wxPython

traits依赖于wxPython或者PyQt,我们选择wxPython,直接用pip安装失败。直接到

http://wxpython.org/

下载一个安装包。

wxPython3.0-win32-3.0.2.0-py27.exe
我们可以在http://www.riverbankcomputing.co.uk/software/pyqt/download这里,获得PyQt4的下载,请注意选择正确的Python版本和系统位数。

PyQt4依赖于sip,所以在安装PyQt4之前要先安装sip,
http://zh.osdn.net/projects/sfnet_pyqt/downloads/sip/sip-4.16.6/sip-4.16.6.zip/。
将下载的 sip-4.16.6.zip解压到Python2.7\Lib\site-packages\中。
打开一个Window命令行窗口;
定位到sip文件夹中;
运行configure.py文件。(注意这里需要预先将python.exe所在路径添加到系统路径中,才可以在命令行中直接运行python。)

常见问题:
若要使用微软的VC的nmake,就要在配置时使用命令python configure.py –platform win32-msvc,其中win32-msvc使用的是VC6的nmake;win32-msvc.net使用的是VC2003的nmake;win32-msvc2005使用的是VC2005的nmake;win32-msvc2008使用的是VC2008的nmake。根据–show-platforms命令显示的结果,SIP的配置暂不支持VC2010和VS11下的nmake。若想知道SIP支持的所有平台和编译器,可以在命令行中使用python configure.py –show -platforms命令来查看。

Configuration完成之后,打开microsoft visual studio命令行窗口
用Traits进行界面开发 - tuchengju - tuchengju的博客
进入sip文件夹之后,运行nmake命令。
完成之后运行nmake install命令。(最后一张图展示的是nmake install命令的执行结果。)
Windows下PyQt4的安装
Windows下PyQt4的安装
Windows下PyQt4的安装

之后直接运行下载的PyQt4-4.11.3-gpl-Py2.7-Qt4.8.6-x64.exe;

1.2 安装Traits

首先尝试用pip安装traits库,悲剧了:

到http://www.microsoft.com/en-us/download/details.aspx?id=44266下一个编译器。

安装之后,发现“unable to find vcvarsall.bat”这句话在msvc9compiler.py中
问题出在构建python的版本和你计算机上安装的版本可能不一样。

具体修改代码如下:
msvc9compiler.py中
修改MSVCCompiler函数:
vc_env = query_vcvarsall(VERSION, plat_spec)
为:
如果安装的是VS2014,则VERSION为13.0;
如果安装的是VS2013,则VERSION为12.0;
如果安装的是VS2012,则VERSION为11.0;
如果安装的是VS2010,则VERSION为10.0;
如果安装的是VS2008,则VERSION为9.0。
像我的安装的是VS2013,则
vc_env = query_vcvarsall(12.0, plat_spec)

在我的电脑上,我查过它查找的VERSION为10.0,也就是VS2010,所以要人工干预下,而且修改此处对整个程序没有影响,除非你换了VS版本

1.3 安装traitsui

接下来用pip安装traitsui,这回一切顺利。
[plain] view plain copy
在CODE上查看代码片派生到我的代码片
—– Installing ‘traitsui’ —–
Collecting traitsui
Downloading traitsui-4.4.0.tar.gz (598kB)
Requirement already up-to-date: traits in c:\python27\lib\site-packages (from traitsui)
Collecting pyface (from traitsui)
Downloading pyface-4.5.0.tar.gz (520kB)
Installing collected packages: pyface, traitsui
Running setup.py install for pyface
Running setup.py install for traitsui
Successfully installed pyface-4.5.0 traitsui-4.4.0
—– Successfully installed ‘traitsui’ —–

1.4 测试

在交互窗口中输入:
[plain] view plain copy
在CODE上查看代码片派生到我的代码片
Python interactive window. Type $help for a list of commands.

from traits.api import HasTraits,Color

In [2]: class Circle(HasTraits):
…: color=Color
…:

In [3]: c=Circle()

In [4]: c.color
Out[4]: wx.Colour(255, 255, 255, 255)

In [5]: c.configure_traits()

可以看到一个属性配置窗口:

选择合适的颜色,再看color属性的值:

In[6]: c.color

Out[6]:wx.Colour(255, 0, 255, 255)

这篇关于用Traits进行界面开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/932971

相关文章

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间