lineEdit单行文本框


Header:  #include <QLineEdit>  

qmake:QT += widgets  

Inherits:     QWidget

 

信号 

 h文件

复制代码
#ifndef WIN_H
#define WIN_H

#include <QWidget>
#include <QDebug>

QT_BEGIN_NAMESPACE
namespace Ui { class win; }
QT_END_NAMESPACE

class win : public QWidget
{
    Q_OBJECT

public:
    win(QWidget *parent = nullptr);
    ~win();

private:
    Ui::win *ui;

public slots:
    void A();
    void B(QString str);
    void C(QString str);
    void D();
    void E();
    void F(int,int);

};
#endif // WIN_H
复制代码

cpp文件

复制代码
#include "win.h"
#include "ui_win.h"

win::win(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::win)
{
    ui->setupUi(this);
    QObject::connect(ui->lineEdit1,SIGNAL(returnPressed()),this,SLOT(A(void)));  //光标在行编辑框内点回车,发射信号
    connect(ui->lineEdit1,SIGNAL(textChanged(QString)),this,SLOT(B(QString)));  //文本内容改变时,发射信号
    //传递的参数:文本框中的文本
    connect(ui->lineEdit1,SIGNAL(textEdited(QString)),this,SLOT(C(QString)));  //当文本被编辑时,发射该信号
    //当使用setText()改变文本时,textEdited()信号也会发射
    connect(ui->lineEdit1,SIGNAL(editingFinished()),this,SLOT(D(void)));  //当编辑完成点回车,发射信号
    connect(ui->lineEdit1,SIGNAL(selectionChanged()),this,SLOT(E(void)));  //选择的文本发生变化时,发射信号
    connect(ui->lineEdit1,SIGNAL(cursorPositionChanged(int,int)),this,SLOT(F(int,int)));  //光标位置改变,发射信号。
    //前面的位置old,新的位置是new


}

win::~win()
{
    delete ui;
}

void win::A(){
    qDebug()<<"发出returnPressed信号"<<'\n';
}

void win::B(QString str){
    qDebug()<<"发出textChanged信号:"<<str<<'\n';
}

void win::C(QString str){
    qDebug()<<"发出textEdited信号:"<<str<<'\n';
}

void win::D(){
    qDebug()<<"发出editingFinished信号"<<'\n';
}

void win::E(){
    qDebug()<<"发出selectionChanged信号"<<'\n';
}

void win::F(int aa,int bb){
    qDebug()<<"光标位置变化了,原位置:"<<aa<<"     新位置:"<<bb<<'\n';
}
复制代码

 

其它指令看: https://www.cnblogs.com/liming19680104/p/10356797.html    

 

 

 

 

 

 

posted @   天子骄龙  阅读(517)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示

目录导航