QT 手动建立 带参数的信号槽

在QT编程中,当不使用UI界面而选择全代码方式创建窗口和控件时,需要手动建立信号槽。该过程包括在头文件中声明公共槽函数,如`on_lineEdit_inputText_textChanged`,然后在cpp文件中创建控件并使用`connect`函数将信号`textChanged(QString)`与槽函数连接。在槽函数中实现具体逻辑,确保信号和槽的参数类型匹配。此方法适用于动态构建UI的场景。

在QT中,如果直接使用UI,在控件上点击槽函数自动建立信号槽及槽函数是非常方便的。但是,有时候,我们会采用全代码、动态建立窗口和控件。这个时候就需要手动方式来建立控件的槽函数。

方法如下:

1、首先在window.h头文件中添加"public slots: 及槽函数:

class Window : public QWidget
{
    Q_OBJECT

public:
    Window();


public slots:
    void on_lineEdit_inputText_textChanged(const QString &arg1);
};

2、在window.cpp文件中添加控件:

......
QLineEdit *inputText = new QLineEdit(this);
......
connect(inputText, SIGNAL(textChanged(QString)), this, SLOT(on_lineEdit_inputText_textChanged(QString)));
......

}

void Window::on_lineEdit_inputText_textChanged(const QString &arg1)
{
    //文本输入框输入时触发本slot函数
    qDebug()<<"修改LineEDIT出发函数成功!";
    qDebug()<<arg1;
}

其中QLineEdit控件inputText的信号采用控件自带信号“textChanged(QString)”,将其连接到定义的槽函数即可。注意槽信号和槽函数都带有参数QString。

最后完成槽函数实现,注意通过参数引用。

3、备注:

(1)各种控件的信号均可以在帮助中查找。

(2)信号和槽参数的类型必须一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值