PyQt5-控件之QCombox(信息/槽signal/slot)

2024-01-07 23:46:13

以此文详细理解:信号槽机制,同时,粗略记录QCombox的:currentindexchanged,currenttextchanged,activated三个信号的异同
在QT_DESIGNER有一组:信号槽、动作编辑器,如下图:
在这里插入图片描述
最先接触到:信号槽,简单的理解为对象的信息发送、接受机制, 但同时产生了与“动作”的区别和联系,按照其它基于windows的编程,比如MFC/C++,是不是类似:事件event,但是,后来发现,PyQt这三者都同时存在。

信号/槽

派生QWidget的都支持QT预定义的信号槽,表达控件状态改变传递的信息。

###信号CurrentIndexChanged、CurrentTextChanged触发的情况
1.改变CurrentIndex肯定会触发该信号
2.如果当前QComboBox为空,即其中没有内容item,那么调用AddItems方法(包括AddItem方法),向其中增加item,也会触发currentIndexChanged ( int index )信号
3.如果当前QComboBox不为空,那么调用Clear()方法,也会触发currentIndexChanged ( int index )信号,此时,index等于-1
注:CurrentTextChanged与CurrentIndexChanged只是表达状态改变的方式不同:index改变、还是text改变.
###信号activated触发的情况

  1. AddItem、AddItems不会触发
  2. self.comboBox.clear()也不会触发
    但是用鼠标点击comboBox信号activated仍会多次触发,可能的原因就是QComboBox的activated对鼠标点击动作分解的更细。

文章来源:https://blog.csdn.net/www_djh/article/details/135400250
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。