摘要:
接下来,介绍一个简单的例子,从fortran中传递并返回一维自定义结构体数组到python注意点:1、fortran新标准支持可分配数组作为变量传入并在subroutine或function分配后返回;2、BIND不支持传入可分配数组(也即1和2无法同时使用);3、fortran没有垃圾自动回收机制... 阅读全文
摘要:
内容描述:在32位或64位的windows或GNU/Linux系统下利用Python的ctypes和numpy模块调用C/Fortran混合编程的有限元数值计算程序操作系统及编译环境:32bit Win7 + mingw32 + gcc-4.8 + msys-1.0 + python2.7 + openblas-0.2.864bit Ubuntu 1404 + gcc-4.8 + python2.... 阅读全文
摘要:
在wxpython中定义有多种默认的鼠标样式,譬如:wx.CURSORCROSS wx.CURSORHAND等等, 此处按下不表,可以参考wxpython的samples里面自带的cursor例子这里讲介绍当前App的鼠标样式如何获取与匹配:首先,获取非常简单,GetCursor()即可;接着,匹配貌似易如反掌嘛,if self.GetCursor() == wx.StockCursor(wx.C... 阅读全文
摘要:
问题描述:开发环境:Win7 32bit + Python2.7.6 + WxPython 3.0.1-b20140707开发某初级CAD软件中,需要实现点击TreeCtrl控件的相应选择,实现GLCanvas窗口中三维空间点、线和面的添加和删除功能。对于点的添加有两种途径,再绑定TreeCtrl控... 阅读全文
摘要:
在windo系统下F2PY不支持gcc+gfortran的组合,解决的办法:1、安装mingw和msys,在msys环境下使用F2PY调用gcc+gfortran进行编译2、放弃F2PY,直接gfortran编译DLL然后Python代码中调用ctypes 阅读全文
摘要:
notepad++仅支持f77格式的,所以f90格式需要重新定义配置文件传送门:http://ehc.ac/p/notepad-plus/discussion/331753/thread/8f728093/ 阅读全文
摘要:
从gfortran 4.5开始Open命令开始支持newunit选项,示例如下:integer :: uopen(newunit=u, file="log.txt", position="append", status="old")write(u, *) N, V(N)close(u)备注:newunit得到的是小于-1的负整数 阅读全文
摘要:
本来python下面调用fortran最傻瓜方便的办法就是f2py,但是若fortran和C混合编程的代码,分别指定gfortran和gcc为编译器,在windows下面f2py直接报错那么ctypes就是另一种可行的替代办法,且stackoverflow上面这类问题的回答也比较全面这里需要注意的两点是:1、python里面的float对应Fortran的REAL(kind=8)、C中的Double2、从python传递字符串到Fortran的话,需要给出字符串的长度下面是传送门:http://stackoverflow.com/questions/15875533/using-python- 阅读全文
摘要:
虽然pyinstaller支持pyopengl,但是调用GLUT之后,在其它电脑上面运行就会出现错误,索性按照之前C#上面的办法,把字体数据和函数用python重写fontData.py#! /usr/bin/env python#coding=utf-8'''Copy from freeglut_font.c and freeglut_font_data.c * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. * Written by Pawel W. Olszta, * Creation d 阅读全文
摘要:
最近调用PyOpenGL做显示,想在程序启动时候调用Display List进行显示,但是glGenLists返回None,若在程序启动后调用则没有任何问题。搜索谷歌后,给出的解释:This can happen if you call glGenLists *before* you create any windows (or perhaps more accurately, before an OpenGL contexthas been created.)简而言之,必须先创建OpenGL的窗口才能使用Display List解决办法就是,先让OpenGL进行redraw或者刷新一下,再调 阅读全文