ZetCode PyQt4 tutorial signals and slots
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- In this example, we connect a signal
- of a QtGui.QSlider to a slot
- of a QtGui.QLCDNumber.
- author: Jan Bodnar
- website: zetcode.com
- last edited: October 2011
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- lcd = QtGui.QLCDNumber(self)
- sld = QtGui.QSlider(QtCore.Qt.Horizontal, self)
- vbox = QtGui.QVBoxLayout()
- vbox.addWidget(lcd)
- vbox.addWidget(sld)
- self.setLayout(vbox)
- # Here we connect a valueChanged signal of the slider to the display slot of the lcd number.
- # The sender is an object that sends a signal. The receiver is the object that receives the signal. The slot is the method that reacts to the signal.
- sld.valueChanged.connect(lcd.display)
- self.setGeometry(300, 300, 250, 150)
- self.setWindowTitle('Signal & slot')
- self.show()
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
- --------------------------------------------------------------------------------
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- In this example, we reimplement an
- event handler.
- author: Jan Bodnar
- website: zetcode.com
- last edited: October 2011
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Example(QtGui.QWidget):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- self.setGeometry(300, 300, 250, 150)
- self.setWindowTitle('Event handler')
- self.show()
- # In our example, we reimplement the keyPressEvent() event handler.
- def keyPressEvent(self, e):
- # If we click the Escape button, the application terminates.
- if e.key() == QtCore.Qt.Key_Escape:
- self.close()
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
- --------------------------------------------------------------------------------
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- In this example, we determine the event sender
- object.
- author: Jan Bodnar
- website: zetcode.com
- last edited: October 2011
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Example(QtGui.QMainWindow):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- btn1 = QtGui.QPushButton("Button 1", self)
- btn1.move(30, 50)
- btn2 = QtGui.QPushButton("Button 2", self)
- btn2.move(150, 50)
- # Both buttons are connected to the same slot.
- btn1.clicked.connect(self.buttonClicked)
- btn2.clicked.connect(self.buttonClicked)
- self.statusBar()
- self.setGeometry(300, 300, 290, 150)
- self.setWindowTitle('Event sender')
- self.show()
- def buttonClicked(self):
- # We determine the signal source by calling the sender() method. In the statusbar of the application, we show the label of the button being pressed.
- sender = self.sender()
- self.statusBar().showMessage(sender.text() + ' was pressed')
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
- --------------------------------------------------------------------------------
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- """
- ZetCode PyQt4 tutorial
- In this example, we show how to emit a
- signal.
- author: Jan Bodnar
- website: zetcode.com
- last edited: January 2015
- """
- import sys
- from PyQt4 import QtGui, QtCore
- class Communicate(QtCore.QObject):
- # A signal is created with the QtCore.pyqtSignal() as a class attribute of the external Communicate class.
- closeApp = QtCore.pyqtSignal()
- class Example(QtGui.QMainWindow):
- def __init__(self):
- super(Example, self).__init__()
- self.initUI()
- def initUI(self):
- # The custom closeApp signal is connected to the close() slot of the QtGui.QMainWindow.
- self.c = Communicate()
- self.c.closeApp.connect(self.close)
- self.setGeometry(300, 300, 290, 150)
- self.setWindowTitle('Emit signal')
- self.show()
- # When we click on the window with a mouse pointer, the closeApp signal is emitted. The application terminates.
- def mousePressEvent(self, event):
- self.c.closeApp.emit()
- def main():
- app = QtGui.QApplication(sys.argv)
- ex = Example()
- sys.exit(app.exec_())
- if __name__ == '__main__':
- main()
ZetCode PyQt4 tutorial signals and slots的更多相关文章
- ZetCode PyQt4 tutorial Drag and Drop
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This is a simple ...
- ZetCode PyQt4 tutorial widgets II
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial widgets I
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial Dialogs
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial layout management
!/usr/bin/python -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This example shows ...
- ZetCode PyQt4 tutorial work with menus, toolbars, a statusbar, and a main application window
!/usr/bin/python -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial This program create ...
- ZetCode PyQt4 tutorial First programs
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial custom widget
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
- ZetCode PyQt4 tutorial basic painting
#!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example, ...
随机推荐
- 在jQuery中解决事件冒泡问题
<pre name="code" class="html">事件会按照DOM层次结构像水泡一样不断向上直至顶端 解决方法:在事件处理函数中返回fal ...
- devise修改密码
https://ruby-china.org/topics/1314 password/edit不是给你直接改密码用的 这个是忘记密码后,发送重置密码的邮件到你邮箱,同时生成一个token 然后你点那 ...
- SQL: 查找空值
①用 IS NULL ②NULL 不能用 “=” 运算符 ③NULL 不支持加.减.乘.除.大小比较.相等比较 ④不同的函数对NULL的支持不一样,在遇到NULL时最好测试一下结果会受什么影响,不能仅 ...
- DB开发之mysql
1. MySQL 4.x版本及以上版本提供了全文检索支持,但是表的存储引擎类型必须为MyISAM,以下是建表SQL,注意其中显式设置了存储引擎类型 CREATE TABLE articles ( id ...
- POI之Excel导入
1,maven配置 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-oox ...
- Hadoop运维手记
1.处理hadoop的namenode宕机 处理措施:进入hadoop的bin目录,重启namenode服务 操作命令:cd path/to/hadoop/bin ./hadoop-daemon.sh ...
- windows10如何安装cpu版本tensorflow
1.获取anaconda https://repo.continuum.io/archive/Anaconda3-2018.12-Windows-x86_64.exe (这个版本内置python3.7 ...
- Nginx反向代理缓冲区优化
内容目录 proxy_buffering proxy_buffer_size proxy_buffers proxy_busy_buffers_size proxy_max_temp_file_siz ...
- BZOJ 1833 【ZJOI2010】 数字计数
题目链接:数字计数 没啥好说的,裸裸的数位\(dp\). 先枚举当前是算数字\(x\)出现的次数,设\(f_{i,j}\)表示从高位往低位\(dp\),\(dp\)完了前\(i\)位之后\(x\)出现 ...
- 在 R 中使用 Python 字符串函数
sprintf( )函数很强大,但并非适用于所有应用场景.例如,如果一些部分在模板中多次出现,那么就需要多次写一样的参数.这通常会使得代码冗长而且难以修改:sprintf("%s, %d y ...