用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

相关文章

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

使用Pandas进行均值填充的实现

《使用Pandas进行均值填充的实现》缺失数据(NaN值)是一个常见的问题,我们可以通过多种方法来处理缺失数据,其中一种常用的方法是均值填充,本文主要介绍了使用Pandas进行均值填充的实现,感兴趣的... 目录什么是均值填充?为什么选择均值填充?均值填充的步骤实际代码示例总结在数据分析和处理过程中,缺失数

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

QT进行CSV文件初始化与读写操作

《QT进行CSV文件初始化与读写操作》这篇文章主要为大家详细介绍了在QT环境中如何进行CSV文件的初始化、写入和读取操作,本文为大家整理了相关的操作的多种方法,希望对大家有所帮助... 目录前言一、CSV文件初始化二、CSV写入三、CSV读取四、QT 逐行读取csv文件五、Qt如何将数据保存成CSV文件前言

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

SpringSecurity6.0 如何通过JWTtoken进行认证授权

《SpringSecurity6.0如何通过JWTtoken进行认证授权》:本文主要介绍SpringSecurity6.0通过JWTtoken进行认证授权的过程,本文给大家介绍的非常详细,感兴趣... 目录项目依赖认证UserDetailService生成JWT token权限控制小结之前写过一个文章,从S