PyQt4--发送带参数的自定义信号
2011-04-09 16:53
791 查看
http://www.saltycrane.com/blog/2008/01/pyqt-how-to-pass-arguments-while/
import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
####################################################################
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
self.label = QLabel(" ")
layout = QVBoxLayout()
layout.addWidget(self.label)
self.setLayout(layout)
self.connect(self, SIGNAL("didSomething"),
self.update_label)
self.do_something()
def do_something(self):
self.emit(SIGNAL("didSomething"), "important", "information")
def update_label(self, value1, value2):
self.label.setText(value1 + " " + value2)
####################################################################
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
可以改成如下形式,运行结构一样
import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
####################################################################
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
self.label = QLabel(" ")
layout = QVBoxLayout()
layout.addWidget(self.label)
self.setLayout(layout)
self.connect(self, SIGNAL("didSomething"),
self.update_label)
self.do_something()
def do_something(self):
self.emit(SIGNAL("didSomething"), "important","information")
def update_label(self, *args):
label_str=''
for argv in args:
label_str+=' '+argv
self.label.setText(label_str)
####################################################################
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
####################################################################
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
self.label = QLabel(" ")
layout = QVBoxLayout()
layout.addWidget(self.label)
self.setLayout(layout)
self.connect(self, SIGNAL("didSomething"),
self.update_label)
self.do_something()
def do_something(self):
self.emit(SIGNAL("didSomething"), "important", "information")
def update_label(self, value1, value2):
self.label.setText(value1 + " " + value2)
####################################################################
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
可以改成如下形式,运行结构一样
import sys
import time
from PyQt4.QtCore import *
from PyQt4.QtGui import *
####################################################################
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
self.label = QLabel(" ")
layout = QVBoxLayout()
layout.addWidget(self.label)
self.setLayout(layout)
self.connect(self, SIGNAL("didSomething"),
self.update_label)
self.do_something()
def do_something(self):
self.emit(SIGNAL("didSomething"), "important","information")
def update_label(self, *args):
label_str=''
for argv in args:
label_str+=' '+argv
self.label.setText(label_str)
####################################################################
if __name__ == "__main__":
app = QApplication(sys.argv)
w = MyWindow()
w.show()
sys.exit(app.exec_())
相关文章推荐
- Qt在信号中如何发送自定义结构体,或者发送多个自定义参数
- PyQt 自定义信号带参数
- pyqt中信号与槽的参数传递。
- QT4 键盘按键发送自定义信号
- JMeter模拟请求发送,并带上自定义Header,参数,Cookie
- pyqt+python自定义信号
- pyqt4信号与槽之间参数传递
- pyqt自定义信号与槽
- pyqt信号和槽传递额外参数
- QT 信号槽connect中解决自定义数据类型或数组作为函数参数的问题——QT qRegisterMetaType 注册MetaType——关键:注册自定义数据类型或QMap等容器类
- pyqt4信号与槽之间参数传递
- PyQt给组件创建信号并使用自定义信号源码实例
- pyqt5 使用 QTimer, QThread, pyqtSignal 实现自动执行,多线程,自定义信号触发。
- PyQt5笔记之Qt Designer自定义信号emit及传参
- PyQt自定义信号的应用
- Qt中带有参数的信号传递出错--自定义类型的参数
- QT 自定义信号与信号槽方法及解决自定义数据类型或数组作为函数参数的问题
- pyqt5自定义信号实例解析
- 自定义volley框架StringRequest类 ——个方法发送各种请求(get post 参数 cookie)
- PyQt5学习笔记16----PyQt信号和槽传递额外参数