1.QLineEdit 限制整数

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. m_LineEditIterate = new QLineEdit();  
  2. m_LineEditIterate->setFixedWidth(100);  
  3. m_LineEditIterate->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);  
  4. m_LineEditIterate->setText("2");  
  5. m_LineEditIterate->setValidator(new QIntValidator(1, 9, m_LineEditIterate));  
2. QLieEdit限制double类型,以及小数点,{0,2}这个是控制位数,

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. QRegExp double_rx100("100|([0-9]{0,2}[\.][0-9]{1,3})");   
  2. QRegExp double_rx10000("10000|([0-9]{0,4}[\.][0-9]{1,3})");   
  3. QRegExp double_rx10("10|([0-9]{0,1}[\.][0-9]{1,3})");   
  4. m_LineEditDensity = new QLineEdit;  
  5. m_LineEditDensity->setValidator(new QRegExpValidator(double_rx100, m_LineEditDensity));  
  6. m_LineEditParA = new QLineEdit;  
  7. m_LineEditParA->setValidator(new QRegExpValidator(double_rx10000, m_LineEditParA));  
  8. m_LineEditParB = new QLineEdit;  
  9. m_LineEditParB->setValidator(new QRegExpValidator(double_rx10, m_LineEditParB));  
3.QLineEdit只输入字母和数字 收藏

[cpp]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. QRegExp regx("[a-zA-Z0-9]+$");  
  2. QValidator *validator = new QRegExpValidator(regx, lined );  
  3. lined->setValidator( validator );  

QRegExp regExp(“[A-Za-z][1-9][0-9]{0,2}”);

//正则表达式,第一位数字为a-z的数字,第二位为1-9的数字,后边是0-2位 0-9的数字

lineEdit->setValidator(new QRegExpValidator(regxp,this));


应用:QLineEdit输入一个Byte十六进制数
//字符集过滤器,过滤十六进制
    QRegExp regExp("[a-fA-F0-9][a-fA-F0-9]");
    QValidator *validator = new QRegExpValidator(regExp, ui->LEditDlpcAddr);
    ui->LEditDlpcAddr->setValidator(validator);

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐