QT开发中文网

QT Line Edit 输入文本 激发信号和槽

在 Qt 中,QLineEdit 是一个用于输入文本的控件,可以通过信号和槽机制来响应用户的输入。以下是如何使用 QLineEdit 激发信号并连接到槽的示例代码。

示例代码

#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QLineEdit>
#include <QLabel>

class MyWidget : public QWidget {
    Q_OBJECT

public:
    MyWidget(QWidget *parent = nullptr) : QWidget(parent) {
        QVBoxLayout *layout = new QVBoxLayout(this);

        lineEdit = new QLineEdit(this);
        label = new QLabel("请输入文本", this);

        layout->addWidget(lineEdit);
        layout->addWidget(label);

        // 连接信号和槽
        connect(lineEdit, &QLineEdit::textChanged, this, &MyWidget::onTextChanged);
    }

private slots:
    void onTextChanged(const QString &text) {
        label->setText(text);  // 更新标签显示文本
    }

private:
    QLineEdit *lineEdit;
    QLabel *label;
};

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    MyWidget window;
    window.setWindowTitle("QLineEdit 信号与槽示例");
    window.resize(300, 100);
    window.show();

    return app.exec();
}

#include "main.moc"

说明

  1. 创建控件:我们创建了一个 QLineEdit 和一个 QLabel,用来显示用户输入的文本。
  2. 布局:使用 QVBoxLayout 将它们垂直排列。
  3. 信号与槽连接
    • 使用 connect() 函数将 lineEdittextChanged 信号连接到自定义的槽函数 onTextChanged()
    • 每当用户在 QLineEdit 中输入文本时,都会触发该信号,并调用对应的槽函数。
  4. 更新标签:在槽函数中,我们将输入框中的文本设置为标签的文本,这样可以实时显示用户输入。

编译和运行

确保你的 Qt 环境已正确配置,然后将上述代码保存为 .cpp 文件,并使用 Qt Creator 或命令行工具编译和运行。如果一切正常,你将看到一个简单的窗口,当你在输入框中输入文本时,下面的标签会实时更新。


内容由零声教学AI助手提供,问题来源于学员提问

目录导航
  • 示例代码
  • 说明
  • 编译和运行
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=12507

    分享:
    扫描分享到社交APP
    上一篇
    下一篇
    发表列表
    游客 游客
    此处应有掌声~
    评论列表

    还没有评论,快来说点什么吧~

    联系我们

    在线咨询: 点击这里给我发消息

    微信号:3007537140

    上班时间: 10:30-22:30

    关注我们
    x

    注册

    已经有帐号?