用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

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

基于Java开发一个极简版敏感词检测工具

《基于Java开发一个极简版敏感词检测工具》这篇文章主要为大家详细介绍了如何基于Java开发一个极简版敏感词检测工具,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录你是否还在为敏感词检测头疼一、极简版Java敏感词检测工具的3大核心优势1.1 优势1:DFA算法驱动,效率提升10

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

Java 与 LibreOffice 集成开发指南(环境搭建及代码示例)

《Java与LibreOffice集成开发指南(环境搭建及代码示例)》本文介绍Java与LibreOffice的集成方法,涵盖环境配置、API调用、文档转换、UNO桥接及REST接口等技术,提供... 目录1. 引言2. 环境搭建2.1 安装 LibreOffice2.2 配置 Java 开发环境2.3 配