问题遇到的现象和发生背景
Python PyQt5 UI 控件信号问题
原始可运行代码如下
from pydm import Display
class example(Display):
def __init__(self,parent = None,args = []):
super(example,self).__init__(parent = parent,args = args)
self.ui.PyDMSpinbox.valueChanged.connect(self.test_color)
def ui_filename(self):
return 'image.ui'
def ui_filepath(self):
return path.join(path.dirname(path.realpath(__file__)),self.ui_filename())
def test_color(self):
mapMax = float(self.ui.PyDMSpinbox.text())
self.PyDMImageView.setProperty("colorMapMax", mapMax)
原始代码运行结果如下:
希望实现在spinbox值改变后,connect后面的函数可以有输入变量,当我有很多spinbox控件时,就可以只调用test_color()
一个函数,而不是每多复制一个控件就多一个test_color()
函数
from pydm import Display
class example(Display):
def __init__(self,parent = None,args = []):
super(example,self).__init__(parent = parent,args = args)
self.ui.PyDMSpinbox.valueChanged.connect(self.test_color(mapMax = float(self.ui.PyDMSpinbox.text())))
def ui_filename(self):
return 'image.ui'
def test_color(self,mapMax=255):
self.PyDMImageView.setProperty("colorMapMax", mapMax)