给qlineedit创建简单的clicked 信号方式。

本文介绍了为QLineEdit创建clicked信号的三种方法:一是通过创建新类并重载父类函数;二是利用事件过滤器,此方法尚待深入研究;三是小规模应用时的简化方法,直接在GUI项目中设置信号机制。详细步骤包括建立GUI项目,添加QLineEdit,并在头文件中添加信号处理。
摘要由CSDN通过智能技术生成

给qlineedit建立一个clicked的方式,我归结为有3种;

第一种:建立一个新类,继承父类控件,将控件里的函数进行重载,最后将返回事件的处理交会父类控件。

第二种:事件过滤器。(其实我也不太懂,小编还会继续研究的,有时间会将其解释出来)

第三种:以第一种的为基础,但是继承就算了。(只适合小规模的)


1)建立一个小的gui项目

2)在 ui 界面设立y一个qlineedit文本框

3)在  .h 头文件中,加入信号机制

signals:
    void clicked();

4)在  .cpp 文件中的构造函数

ui->lineEdit->installEventFilter(this);  //声明机制的存在

5)在 .h 头文件中重载eventFilter

protected:
    bool eventFilter(QObject *obj, QEvent *e);

6)在 .cpp 文件中重写eventFilter

bool MainWindow::eventFilter(QObject *obj, QEvent *e)
{
    if(obj == ui->lineEdit
QLineEditQt中的一个控件,用于接收单行文本输入。它可以用于输入用户名、密码、搜索关键字等等。以下是一个简单的QLineEdit的例子: ```cpp #include <QApplication> #include <QLineEdit> int main(int argc, char *argv[]) { QApplication a(argc, argv); QLineEdit *lineEdit = new QLineEdit(); lineEdit->setPlaceholderText("请输入文本"); // 设置占位符文本 lineEdit->show(); return a.exec(); } ``` 上述代码创建了一个QLineEdit对象,并设置了一个占位符文本。运行程序后,会显示一个空的文本框,用户可以在其中输入文本。 如果想要自定义QLineEdit控件,可以继承QLineEdit类并重写其中的一些方法。例如,可以自定义一个带有删除按钮的QLineEdit控件,代码如下: ```cpp #include <QApplication> #include <QLineEdit> #include <QToolButton> #include <QHBoxLayout> class CustomLineEdit : public QLineEdit { public: CustomLineEdit(QWidget *parent = nullptr) : QLineEdit(parent) { m_clearButton = new QToolButton(this); m_clearButton->setIcon(QIcon(":/images/clear.png")); m_clearButton->setCursor(Qt::ArrowCursor); m_clearButton->setStyleSheet("QToolButton { border: none; padding: 0px; }"); QHBoxLayout *layout = new QHBoxLayout(this); layout->addStretch(); layout->addWidget(m_clearButton); layout->setContentsMargins(0, 0, 0, 0); connect(m_clearButton, &QToolButton::clicked, this, &QLineEdit::clear); } private: QToolButton *m_clearButton; }; int main(int argc, char *argv[]) { QApplication a(argc, argv); CustomLineEdit *lineEdit = new CustomLineEdit(); lineEdit->setPlaceholderText("请输入文本"); lineEdit->show(); return a.exec(); } ``` 上述代码创建了一个CustomLineEdit类,继承自QLineEdit类,并添加了一个删除按钮。在构造函数中,我们创建了一个QToolButton对象,并设置了它的图标、样式等属性。然后,我们创建了一个水平布局,并将删除按钮添加到布局中。最后,我们将布局设置为CustomLineEdit的布局,并连接了删除按钮的clicked信号和QLineEdit的clear槽函数。 运行程序后,会显示一个带有删除按钮的文本框,用户可以在其中输入文本,并通过点击删除按钮来清空文本框。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值