1.python启动exe 软件:paraview.exe和pvserver.exe

1.1python编译环境搭建

下载pycharm

Download PyCharm: Python IDE for Professional Developers by JetBrains

1.2 win32api启动paraview.exe和 pvserver.exe

import win32api

在使用import win32api时,报错:No module named win32api

想要使用win32api需要先安装win32api

Releases · mhammond/pywin32 · GitHub

下载后,双击pywin32-221.win-amd64-py3.8.exe,会识别Python的安装路径,一路Next安装即可

win32api模块中的ShellExecute()函数。其函数如下所示。
ShellExecute(hwnd, op , file , params , dir , bShow )
其参数含义如下所示。
hwnd:父窗口的句柄,如果没有父窗口,则为0。
op:要进行的操作,为“open”、“print”或者为空。
file:要运行的程序,或者打开的脚本。
params:要向程序传递的参数,如果打开的为文件,则为空。
dir:程序初始化的目录。
bShow:是否显示窗口。

    path = "C:\\Program Files\\ParaView 5.9.0-Windows-Python3.8-msvc2017-64bit\\bin\\paraview.exe"win32api.ShellExecute(0, 'open', path, '', '', 1)

打开paraview.exe,让paraview在前台运行。

    pvserver = "C:\\Program Files\\ParaView 5.9.0-Windows-Python3.8-msvc2017-64bit\\bin\\pvserver.exe"win32api.ShellExecute(0, 'open', pvserver, '--multi-clients', '', 1)

打开pvserver.exe,如下图所示:

1.3参考文献:

Python调用Windows外部程序 - 帅胡 - 博客园 (cnblogs.com)

从Python IDLE控制Paraview GUI (codingdict.com)

2.paraview GUI连接到服务器pvserver进程

2.1默认服务器

当ParaView启动时,它会按以下顺序查找多个服务器定义文件:

在基于Unix的系统和Mac OS X上

  • default_servers.pvsc 在ParaView可执行目录中(您可以执行ls-l/proc/<ParaView PID here>/exe来标识可执行目录)
  • /usr/share/ParaView/servers.pvsc
  • $HOME/.config/ParaView/servers.pvsc

在windows系统上

  • default_servers.pvsc 在ParaView可执行目录中
  • %COMMON_APPDATA%\ParaView\servers.pvsc
  • %APPDATA%\ParaView\servers.pvsc

如果在多个文件中定义了同一服务器,则最后读取的定义将覆盖以前的任何定义。

2.2服务器配置用例

这个用例中,我们为一个简单的服务器连接设置配置,该配置连接到pvserver进程,pvserver进程运行在名为”amber1“的节点上,进程端口 号为20234。pvserver将由用户手动启动。

  <Server name="case1" resource="cs://amber1:20234"><ManualStartup /></Server>

resource属性标识连接的类型、主机名和端口。

这里连接的类型为cs,cs表示客户端服务器。

主机名:amber1

端口号:20234,如果没有指定端口默认端口号为11111.

因为用户手动启动pvserver进程,因此我们使用<ManualStartup/>标记。

2.3paraview GUI客户端连接到服务器

File->Connect
AddServer -> Choose a name -> Configure -> Save
Connect

具体怎么配置连接服务器参见《Starting the server - KitwarePublic (paraview.org)》

2.4参考文献:

Starting the server - KitwarePublic (paraview.org)

从Python IDLE控制Paraview GUI (codingdict.com)

https://hpc.llnl.gov/software/visualization-software/paraview/running-paraview-client-server-mode

3.python自动化控制paraview GUI连接到pvserver进程

3.1pywinauto安装

这里介绍windows系统下安装pywinauto

github 地址:GitHub - pywinauto/pywinauto: Windows GUI Automation with Python (based on text properties)

官方文档:

What is pywinauto — pywinauto 0.6.8 documentation

Pywinauto:PC端自动化工具

https://github.com/pywinauto/pywinauto/releases

下载pywinauto

打开cmd.exe命令行提示符,安装pywinauto

测试pywinauto是否安装成功:

打开的命令行提示符输入python指令后,然后输入以下指令,不报错则安装成功:

  from pywinauto.application import Applicationapp = Application(backend="uia").start("notepad.exe")

pywinauto示例代码:

dlg = app['TRACE™ 3D Plus']
dlg.child_window(auto_id='Airflows').invoke() # or .click() that just calls an action
# or
dlg.child_window(auto_id='Airflows').click_input() # true click with moving cursor

Can i select toolbar option using pywinauto · Issue #696 · pywinauto/pywinauto (github.com)

python 3.x - to iterate the sub menu item using pywinauto - Stack Overflow

paraview无法定位paraview软件的menu、toolbar、button等元素,而且2019年之后就没有再维护,文档手册也不是特别详细,所以经过几天的努力之后,选择autoit实现paraview软件自动化控制。

详情见博文:

参考文献:

(23条消息) pywinauto教程_Emilymcwu的博客-CSDN博客_pywinauto

python控制paraview GUI相关推荐

  1. Py之GUI:Python下各种GUI(图形用户界面)简介、使用优缺点对比

    Py之GUI:Python下各种GUI(图形用户界面)简介.使用优缺点对比 目录 GUI Python下各种GUI简介.使用优缺点对比 Python下各种GUI更多官权威介绍 GUI 图形用户界面(G ...

  2. python qt库,用于 Python 的高级 GUI 库(Qt 和 PyQt)(1)Unix系统 -电脑资料

    Qt 工具箱是一个使用广泛的跨平台 GUI 工具箱,可用于 Windows .Linux.Mac OSX 和许多手持平台, Qt 工具箱是一个使用广泛的跨平台 GUI 工具箱,可用于Windows.L ...

  3. 【JY】如何利用python来编写GUI?

    [版权声明] ▏作者:建源之光 ▏审阅:建源之光 ▏如需转载请联系作者 ▏欢迎分享     现如今,Python越来越火,土木工程中利用Python来为自己做更便利的工作,而建筑学利用Rhino+Gh ...

  4. python开发的gui界面,python写gui应用程序

    python 编写gui界面有哪些 安装wxPython下面是wxPython特别基础的使用方法,将以一个小程序为例来说明,它的功能是在一个文本框中输入文件名,点击open按钮,会在另一个文本框中显示 ...

  5. Python图形界面GUI程序设计

    1.GUI是什么? 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面. 图形用户界面是一种人与计算机通信的界面显 ...

  6. Python控制手机下欢乐五子棋,半天时间1段到9段,90%+的胜率,就无敌

    国庆节闲来无事,突然想到儿时玩的五子棋于是打开手机-小程序-欢乐五子棋.下了2把感觉太费脑子了.想到之前有个五子棋引擎,叫羿心.然后开始找官网,找到了尼玛居然官网挂了.于是就上GitHub上面去找,居 ...

  7. python用渐变色画圆_利用python控制Autocad:pyautocad方式

    发现pyautocad模块:可以用python控制autocad的包.今天把文档中的重点内容摘录出来,以后绘图.计算大工程量.或者识别施工图的时候时候也许可以用到. 一.连接cad pyautocad ...

  8. python实现摄像头拍照_使用Python控制摄像头拍照并发邮件

    o1 前言 为什么会有写这个程序的想法呢? 最初的想法是写一个可以用电脑前置摄像头拍照的程序,在舍友使用你电脑的时候,不经意间获取到一大堆奇葩舍友的表情包. 然后我又突发奇想,要不搞个开机启动吧,这样 ...

  9. python控制nao机器人_python控制nao机器人身体动作实例详解

    本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参考,具体内容如下 今天读的代码,顺便写了出来,与文档的对比,差不多. import sys import motion im ...

最新文章

  1. 【mybatis】IF判断的坑 (实现if test= status == 'zhangsan')
  2. [BZOJ2716/2648][Violet 3]天使玩偶/SJY摆棋子[KDtree]
  3. redis储存List类型数据
  4. java项目皮肤包_java swing项目皮肤包+使用方法说明
  5. ubuntu12.04samba服务器配置
  6. 对进程、线程和应用程序域的理解
  7. 自学Android到什么程度才能找到工作?
  8. ntpdate从指定服务器同步时间,ntpdate:设置服务器时间定期同步
  9. 偏向锁、轻量级锁和重量级锁
  10. winform 固定splitContainer某一部分大小
  11. Ae:时间轴面板(时间线区域)
  12. 在哪下拼多多上传助手?拼多多软件方法介绍
  13. C盘清理方法汇总:SpaceSniffer与Windows.edb
  14. Shallow Heap 和 Retained Heap的区别
  15. 多重共线性分析 与 方差膨胀因子VIF
  16. origin和matlab的异同,origin和matlab
  17. Java Email 发HTML邮件工具 采用 freemarker模板引擎渲染
  18. linux服务器中毒挖矿,Linux服务器中挖矿病毒 二
  19. 中科爱讯WiFi探针在客流分析统计的应用
  20. trumbowyg 超级轻量级文本编辑器使用说明

热门文章

  1. vue---批量删除表格数据
  2. oracle b树索引原理,Oracle索引原理精简总结
  3. java多线程编程学习路线
  4. MyIE2 更名为 Maxthon
  5. 当前端要做地区显示,而后端传给你的只有地区编码
  6. 达梦数据库SQL日志分析工具Dmlog的使用
  7. 计算机培训什么语言较好,学什么编程语言比较好
  8. OSI七层模型和TCP/IP四层体系分层结构
  9. c++ zlib 7z解压缩
  10. zip gzip 7z 简单比较