首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏生命不息,Codeing不止

    QSignalMapper使用以及替换方法

    QSignalMapper支持的类型:int、QString、QWidget、QObject setMapping()与重载函数: void setMapping(QObject *sender, int QSignalMapper* pMap = new QSignalMapper(); for (int i = 0; i < 5; ++i) { QString strBtnText = "button 实现效果: [示例.gif] 三、替换方法 <em>QSignalMapper</em>的实现效果可以使用Lambda 来实现 上面的示例,使用Lambda来实现: { connect(pButton, &QPushButton

    2.3K00发布于 2020-07-23
  • 来自专栏跟Qt君学编程

    QT5和C++ 11:Lambda是你的朋友(翻译文)

    在Qt5前 在Qt5和c++ 11之前,我们可以用QSignalMapper类来做这样的事情: class AMainWindow : public QWidget, public Ui::AMainWindow to pass custom string for each button // to a single slot QSignalMapper* mapper = new QSignalMapper(); connect(mapper, SIGNAL(mapped(QString)), this, SLOT(SetText(QString))); QSignalMapper就像是一个真正问题的补丁。 添加C++ lambda函数 如果您一直关注c++的发展,您可能知道lambda函数和表达式。 上面例子与使用QSignalMapper比较。它只是更简洁,更容易理解。然而,我们不需要就此打住。

    1.9K10发布于 2019-07-15
  • 来自专栏24K纯开源

    用Qt写软件系列五:一个安全防护软件的制作(2)

    QVBoxLayout *layout = new QVBoxLayout(this); QHBoxLayout *button_layout = new QHBoxLayout(this); QSignalMapper *signal_mapper = new QSignalMapper(this); for(int i=0; i< string_list.size(); i++) { CustomToolButton 这个很容易理解,重点内容是QSignalMapper类的应用。 QSignalMapper类是一个工具类,它主要的功能是将一组无参数信号集中管理,将信号用整型值或字符串值表示,然后再以一种统一的形式发送出去。

    3.9K70发布于 2018-01-18
  • 来自专栏花狗在Qt

    QT多个按钮信号绑定一个槽函数,执行不同业务逻辑。

    QSignalMapper这个类可以帮我们做到,它将来自于一些有标识的发送者的signal连接在一起。 说白了就是转发器,怎么用,让我们来一起看一下 QSignalMapper * myMapper; myMapper = new QSignalMapper(this); QPushButton * button 0;i<5;i++) { connect(button[i], SIGNAL(clicked(bool)), myMapper, SLOT(map()));//这个map()是QSignalMapper

    2.6K10编辑于 2022-01-11
  • 来自专栏Pou光明

    Qt 项目之虚拟键盘 V1.0

    众多键盘按钮的布局,主要使用QSignalMapper。 KeyBoard(QWidget *parent) : QWidget(parent) { QGridLayout *gridLayout = new QGridLayout(this); QSignalMapper *mapper = new QSignalMapper(this); connect(mapper, SIGNAL(mapped(int)), SLOT(buttonClicked(int))

    3.6K30发布于 2019-09-24
  • 来自专栏小徐学爬虫

    如何确定 PyQt 上下文菜单中的触发菜单项

    例如:from PyQt5.QtWidgets import QTableWidget, QAction, QSignalMapper​class MyTableWidget(QTableWidget) __init__(parent)​ # 创建信号映射器 self.signal_mapper = QSignalMapper(self)​ # 为每个上下文菜单项创建一个

    1.5K10编辑于 2024-07-11
  • 来自专栏花狗在Qt

    Fdog系列(六):利用Qt通过服务端进行客户端与客户端通信(资料少,建议收藏)

    tcpSocket); this->isfrist.append(false); onClientConnected(this->tcpSocket.length()-1); QSignalMapper * myMapper1 = new QSignalMapper(this); connect(tcpSocket, SIGNAL(disconnected()), myMapper1, SLOT SocketState)), // this,SLOT(onSocketStateChange(QAbstractSocket::SocketState))); QSignalMapper * myMapper2 = new QSignalMapper(this); connect(tcpSocket, SIGNAL(readyRead()), myMapper2, SLOT(map

    2.3K32发布于 2021-05-06
  • 来自专栏花狗在Qt

    Fdog系列(五):使用Qt模仿QQ实现登录界面到主界面,功能篇。

    登录界面类: class Login : public QWidget { private: QVector<int> infoListsign; QSignalMapper * myMapper; ---- 如果有不了解QSignalMapper类用法的可以参考这篇:QT多个按钮信号绑定一个槽函数,执行不同业务逻辑。

    3.8K41发布于 2021-05-06
领券