如何在qlineedit前添加

如何在qlineedit前添加,第1张

很简单的程序,LZ自己写吧……锋氏 大致如下: 首先自定义一个类,闭散继承自QWIDGET,此类有QPUSHBUTTON,QLINEEDIT这两个子部件,再自定义一个槽函数,用来修改qlineedit中文本内容,再用个connect将qpushbutton的clicked()信号与自定义槽银态散连接就可以了。

要根据comboBox的选项不同来改变LineEdit的输入纳运谨数值范围我们可以利用QComboBox的

void currentIndexChanged ( const QString &text ) 这个信号,但选择改变的时候就会

被emit;

要设定LineEdit的输入数值范围我们可以用setValidator()来设置LineEdit的正则洞基表达式。

然后再自定义一个槽根据index来为lineEdit设置不同的Validator。

connect 信号currentIndexChanged 和这个槽 就可以完成这个功能。

偶写的程序

#include "dialog.h"

#include <QtGui>

Dialog::Dialog(QWidget *parent) :

QDialog(parent)

{

comboBox = new QComboBox

lineEdit = new QLineEdit

comboBox->addItem("1")

comboBox->addItem("2")

comboBox->addItem("3")

QHBoxLayout *layout = new QHBoxLayout

layout->addWidget(comboBox)

layout->addWidget(lineEdit)

this->setLayout(layout)

connect(comboBox,SIGNAL(currentIndexChanged(int)),

this,SLOT(selectChanged(int)))

this->悄举selectChanged(0)

}

void Dialog::selectChanged(int index)

{

QRegExp rx

switch(index)

{

case 0:

rx.setPattern("^\\d$")

break

case 1:

rx.setPattern("^\\d{0,2}$")

break

case 2:

rx.setPattern("^\\d{0,3}$")

break

default:

break

}

QValidator *validator = new QRegExpValidator(rx, this)

lineEdit->setValidator(validator)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11969474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存