Azuresky7810 2021-12-25 22:22 采纳率: 0%
浏览 40

希望实现一个在`connect`里面的函数可以输入变量的功能,类似于`self.PyDMSpinbox.valueChanged.connect(self.test_color(n))`

问题遇到的现象和发生背景

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)

原始代码运行结果如下:

img

希望实现在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)
  • 写回答

1条回答 默认 最新

  • CSDN专家-黄老师 2021-12-26 11:57
    关注

    spinbox控件的定义一个信号槽,当改变spinbox值就触发,将spinbox值写入一个类属性,其他控制直接调用这个类属性即可

    评论

报告相同问题?

问题事件

  • 创建了问题 12月25日

悬赏问题

  • ¥15 python爬取bilibili校园招聘网站
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件
  • ¥15 不同系统编译兼容问题
  • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
  • ¥30 数字电源对DSP芯片的具体要求
  • ¥20 antv g6 折线边如何变为钝角
  • ¥30 如何在Matlab或Python中 设置饼图的高度
  • ¥15 nginx中的CORS策略应该如何配置
  • ¥30 信号与系统实验:采样定理分析