如何用Python写控制程序

Python 是一种胶水语言,可以非常方便的粘合各种模块,比如C++,C等。

由于项目需要,我需要使用Qt设计界面,以Python脚本来控制一个二维的位移平台的移动。其中位移控制卡提供了一个DLL文件,用于平台控制。

下面是我的步骤:

1,在Qt中设计UI。

打开Qt Designer ,新建一个Form


这样你就可以开始设计你的程序UI界面了。设计完成后保存为xxx.ui。记得将控件的名称修改自己熟悉的命名,以便于在Python中使用SIGNAL/SLOT关联。


2,编译ui文件,以供Python调用。

在命令提示行,切换到ui文件所在目录。

输入编译命令:

pyuic4  -o  xxx.py   xxx.ui

得到python调用需要的xxx.py文件。


3,Python编写控制程序。

import ui      #导入ui界面
import os
import sys

from ctypes import *    #控制板提供了dll提供API,需要使用windll对象和c_double类型转换(python弱类型,C程序强类型)
from PyQt4.QtCore import SIGNAL
from PyQt4.QtGui import QDialog,QApplication,QWidget

class MPCDialog(QDialog):

	def __init__(self,parent=None):
		self.dll = None
		QWidget.__init__(self,parent)
		self.ui = ui.Ui_Dialog()
		self.ui.setupUi(self)
		self.setWindowTitle(" xxx ")
		self.connect(self.ui.btn_up,SIGNAL('clicked()'),self.BtnUp_Clicked)
		……
		……
		……
		self.connect

	def BtnUp_Clicked(self):
		……
		……
		……
	
	def BtnConnect_Clicked(self):
		try:
			self.dll = windll.LoadLibrary('xxx.dll')
			self.dll.xxx()
			self.dll.xxx()
			print('Have loaded dll')

		except Exception as e:
			print(e)
			
	def BtnFree_Clicked(self):
		pass
if __name__=='__main__':
    app = QApplication(sys.argv)
    win = xxxDialog()
    win.show()
    sys.exit(app.exec_())


基本完成了程序。最终结果如下:


实验平台上测试通过,能够正确控制平台的移动方向。



你可能感兴趣的:(python)