开发者社区> 问答> 正文

python、PyQt如何实现左击一下ComboBox触发相应事件:配置报错 

最近想实现一个功能:就是左击ComboBox触发一个事件 我的代码是这么写的:

class SerialClass(QtWidgets.QMainWindow, Ui_serialMainWindow,QtWidgets.QComboBox): def init(self, parent=None): super(SerialClass, self).init(parent) self.setupUi(self)
# 鼠标按下事件 def mousePressEvent(self, *args, **kwargs): print(args,kwargs)
那么这个鼠标单击事件是在鼠标单击QtWidgets的时候触发这个事件,单击Ui_serialMainWindow里面的ComboBox并不会触发这个事件。 百度一些是这么说的:那么因为继承的关系:所以我又继承了QtWidgets.QComboBox 实际测试也是无效呢? --当然因为我还不明白这个原理。 那么我就觉得这个重载的mousePressEvent事件在这个类里面只对这个窗体有效了,对窗体里面的组件是无效的。 2、方式二: 我从写了一个类,类继承于QtWidgets.QComboBox 然后我传递一个参数进去,就是这个QComboBox,然后重载一个鼠标点击事件。 当然也是没有用的。
class SerialComponent(QtWidgets.QComboBox): def init(self, parent=None,btn=''): super(SerialComponent, self).init(parent) # self.setupUi(self) self.btn = btn self.initUI()

# 鼠标按下事件
def mousePressEvent(self, *args, **kwargs):
    print(args,kwargs)

def initUI(self):
    global g_serHelpList
    for i in g_serHelpList:
        self.btn.addItem(i)
    self.btn.addItem('hafdh')</pre> 

那么问题就来了。 问:如何使得我按下这个ComboBox也能触发相对应的事件呢? 望解答。  

展开
收起
kun坤 2020-06-04 10:23:18 708 0
1 条回答
写回答
取消 提交回答
  • 请问你这个问题解决了吗,combox如何实现触发事件

    2020-06-04 11:19:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载