PyQt 4.5+控件的信号槽事件定义方法 - 静滞之境 - 开源中国社区
2012-12-16 09:22
1051 查看
PyQt 4.5+控件的信号槽事件定义方法 - 静滞之境 - 开源中国社区
PyQt 4.5+控件的信号槽事件定义方法 2人收藏此文章, 我要收藏 发表于11个月前(2012-01-20 13:06) , 已有397次阅读 ,共1个评论 Qt采用信号槽来设定UI界面上元素动作的事件绑定。自Qt4.5开始,引入了一个新的信号槽与事件绑定的方法。界面上控件可以发出的默认内容都已经由Qt库定义好了,我们只需要定义处理方法即可。 从Designer设计出的控件中会使用setObjectName设定控件的名字,这个名字就可以让我们快捷的定义指定信号槽对应的处理方法。通过@PyQt4.QtCore.pyqtslot()修饰方法可以完成这一动作。定义方法如下: view source print? 1 @PyQt4.QtCore.pyqtSlot(参数) #这个参数请到SDK中找,写参数的类型即可 2 def on_对象名称_信号名称(self,参数): 3 #on接setObjectName设定的对象名字再接SDK中标出的信号名称,即可完成信号处理事件的定义 4 pass 这种定义方法同样适用与自定义的信号槽。 首先需要定义信号: view source print? 1 class MyWidget(QWidget): 2 Signal_NoParameters = PyQt4.QtCore.pyqtSignal() # 无参数信号 3 Signal_OneParameter = PyQt4.QtCore.pyqtSignal(int) # 一个参数(整数)的信号 然后定义信号的激发: view source print? 1 class MyWidget(QWidget): 2 def mousePressEvent(self, event): 3 self.Signal_NoParameters.emit() # 焕发无参数信号 4 self.Signal_OneParameter.emit(1) # 焕发一个参数(整数)的信号 定义槽函数: view source print? 1 class MyWidget(QWidget): 2 @PyQt4.QtCore.pyqtSlot() 3 def setValue_NoParameters(self): 4 pass 5 @PyQt4.QtCore.pyqtSlot(int) 6 def setValue_OneParameter(self,nIndex): 7 pass 之后需要将信号与槽进行连接: view source print? 1 widget.Signal_NoParameters.connect(self.setValue_NoParameters,Qt.QueuedConnection) 2 widget.Signal_OneParameter.connect(self.setValue_OneParameter,Qt.QueuedConnection) |
相关文章推荐
- PyQt 4.5+控件的信号槽事件定义方法
- PyQt 4.5+控件的信号槽事件定义方法
- Pyqt 控件的信号槽事件定义方法
- PyQt5(4)——控件事件响应与信号槽
- Qt的事件模型(5种使用办法,通常重新实现event handler即可。只有定义控件才需要管理信号的发射)
- C# 001 --- 正确的删除一个控件的事件函数 --- 解决错误: “A”不包含“B”的定义,并且找不到可接受类型为“A”的第一个参数的扩展方法“B”(是否缺少 using 指令或程序集引用?)
- PyQt 如果异常未处理,抛入到事件循环,则无错误提示崩溃的解决方法
- PyQt4学习记录之事件和信号
- html文本框控件的常用属性、事件和方法
- ASP.NET 用户控件自定义属性、方法、事件
- 定义一个简单的移动端轻击事件方法tap
- pyqt中信号,槽的使用方法
- 自己定义控件:onDraw 方法实现仿 iOS 的开关效果
- ASP.NET2.0中的GRIDVIEW控件在使用TemplateField中的LinkButton时如何在RowCommand事件中找到当前行index的方法
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- GridView控件常见问题及处理方法===1. 关于隐藏字段的处理:==2. 关于按钮列的事件:==3. 关于按钮的客户端提示:==4. 关于时间字段的格式化输出:==5. 关于绑定空记录:
- Asp.net 2.0自定义控件(点击HyperLink后执行事件)[网友问题: DataList里HyperLink控件激发事件,在哪定义?]
- 关于从页面中获取用户控件中的其它控件(如DropDownList)事件的方法
- 定义页面的Dispose方法:[before]unload事件启示录
- 多个控件事件用一个事件处理方法来处理