我用qt设计器把它从*.ui转换成*.py,我想用它来发送和接收串行数据
我使用组合框来设置串行通信
self.ui.comboBox_2.addItems(['2400','4800','9600','19200'])
我的问题是,当我单击一个按钮时,如何从combobo_2
中获取值来填充串行buadrate
这是我的密码
^{pr2}$然后得到一个错误
File "mainw.py", line 18, in press_2 self.connect(self.ui.comboBox_2, QtCore.SIGNAL('activated(QString)'),ser.baudRate()) AttributeError: 'Serial' object has no attribute 'baudRate'
关于使用按钮从组合框中获取值的问题与您当前所做的不同,即在选择组合框中的值时直接使用信号。在
你的错误与其他东西有关,在你的信号中你似乎在调用一个函数。”波特率()“但是您必须传入一个函数对象,因为它将传入任何对象”布阿德拉特爵士()”返回。可能不是函数。我不确定那个函数返回什么。无论如何,这里有一些想法:
使用按钮 如果你想使用按钮,那么你可以这样写:
使用组合框信号
^{pr2}$您可以使用functools模块中的partial,或者使用lambda来代替为信号编写函数,但这只是一个示例。在
您可能还需要使用“currentIndexChanged”信号而不是“activated”,因为“currentIndexChanged”只在值发生更改时才会发出信号,否则即使用户没有在组合框中选择其他值,它也会发出信号。在
相关问题 更多 >
编程相关推荐