美文网首页程序员首页投稿(暂停使用,暂停投稿)
PyQt5学习笔记(十二):信号槽连接滑块与 LCD

PyQt5学习笔记(十二):信号槽连接滑块与 LCD

作者: 链球选手 | 来源:发表于2016-05-17 10:09 被阅读2335次

学习笔记(四)中我们通过退出按钮初步接触了信号槽(signals & slots)的机制,可以说这个机制是 Qt 最具特色的地方也是其核心优势。信号是由事件(event)触发的,而事件在大多数情况行啊都是由用户通过鼠标、键盘等操作生成的。本文由 Cescfangs 译自ZetCode pyqt5系列教程 并作适当修改。

以下的代码通过QsliderQLCDNumber实现了一个简单的信号槽互动:

import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QLCDNumber, QSlider, QVBoxLayout


class exp(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):

        vbox = QVBoxLayout()

        lcd = QLCDNumber(self)
        slider = QSlider(Qt.Horizontal, self)

        vbox.addWidget(lcd)
        vbox.addWidget(slider)
        self.setLayout(vbox)

        slider.valueChanged.connect(lcd.display)

        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle(' signals-slots')

        self.show()

if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = exp()
    sys.exit(app.exec_())

先创建滑块和 LCD 部件:

lcd = QLCDNumber(self)
slider = QSlider(Qt.Horizontal, self)

然后通过QVboxLayout来设置布局,这个例子中最需要说的是:

slider.valueChanged.connect(lcd.display)

valueChanged()Qslider的一个信号函数,只要slider的值发生改变,它就会发射一个信号,你还可以设置参数控制信号在什么时候发射,然后通过connect连接信号的接收部件,也就是lcd,槽则是针对信号的一个反馈,这里是lcd.display,即更新LCD面板的数字信息。

除了valueChanged()之外,Qslider还有sliderPressured(),sliderMoved(),sliderReleased() 这些信号,详细可参考Qt官方文档。

slider.gif

相关文章

  • PyQt5学习笔记(十二):信号槽连接滑块与 LCD

    在学习笔记(四)中我们通过退出按钮初步接触了信号槽(signals & slots)的机制,可以说这个机制是 Qt...

  • PyQt5 信号与槽

    PyQt5:PyQt5 信号与槽(PyQt5的事件处理机制) - 老π - 博客园 (cnblogs.com)[h...

  • 2019-02-18 信号和信号槽

    PyQt5:PyQt5 信号与槽(PyQt5的事件处理机制) 一、事件 在事件模型,有三个参与者:事件源、事件目标...

  • PyQt5信号与槽

    来自:(https://blog.csdn.net/broadview2006/article/details/8...

  • PyQt5的核心--信号与槽.笔记

    信号与槽是Qt的核心机制,也是PyQt的核心机制 1.信号:是由对象或控件发射出去的消息 比如:按钮的单击事件。当...

  • WebRTC信号和槽机制

    信号和槽的实现原理大致是这样的 : 信号对象持有连接,连接里记录了槽对象的地址和槽函数(某个成员函数)地址信号对象...

  • Qt学习-2.信号与槽

    信号与槽 连接函数书写 ①③为对象指针,分别为发起者与接收者。④等待②的信号被发出 自定义槽 MainWindow...

  • PyQt5 -- 信号与槽机制

    信号与槽应该从抽象层面进行本质上的理解,就是当满足某个条件(信号),则执行某项操作(槽). 举一个简单的例子,so...

  • PyQT5信号槽

    官方文档: http://pyqt.sourceforge.net/Docs/PyQt5/signals_slot...

  • PyQt5中信号连接槽的方法

    信号连接槽的方法有4种: 在创建 Widget 的时候使用信号作为关键字参数,其值为连接的槽函数名 使用信号的 c...

网友评论

    本文标题: PyQt5学习笔记(十二):信号槽连接滑块与 LCD

    本文链接:https://www.haomeiwen.com/subject/jwcirttx.html