QT 子控件 变化 发出信号
时间: 2023-11-28 15:57:17 浏览: 84
QT信号机制.
当 QT 子控件发生变化时,可以通过信号来通知相关的对象。例如,当一个按钮被点击时,可以发出 clicked() 信号,让相关的槽函数执行相应的操作。
以下是一个示例代码,当 QLineEdit 控件的文本发生变化时,会发出 textChanged() 信号,调用相关的槽函数执行相应的操作:
```
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget(QWidget *parent = nullptr) : QWidget(parent)
{
// 创建一个 QLineEdit 控件
m_lineEdit = new QLineEdit(this);
// 连接 textChanged() 信号和相应的槽函数
connect(m_lineEdit, &QLineEdit::textChanged, this, &MyWidget::onTextChanged);
}
private slots:
void onTextChanged(const QString& text)
{
// 当 QLineEdit 的文本发生变化时,执行相应的操作
qDebug() << "Text changed: " << text;
}
private:
QLineEdit *m_lineEdit;
};
```
在上面的代码中,当 QLineEdit 控件的文本发生变化时,会调用 onTextChanged() 槽函数,打印出文本内容。可以根据实际需求来编写相应的槽函数。
阅读全文