qlineedit自动补全_qlineedit只能输入数字

qlineedit自动补全_qlineedit只能输入数字转载:http://www.cnblogs.com/csuftzzk/p/qss_lineedit_completer.html?utm_source=tuicool&utm_medium=referral显示密码显示密码时,利用lineedit-password-character属性更改密文显示字符内容。QLineEdit[echoMode=”2″]{lineedit…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

转载:http://www.cnblogs.com/csuftzzk/p/qss_lineedit_completer.html?utm_source=tuicool&utm_medium=referral

显示密码

显示密码时,利用lineedit-password-character属性更改密文显示字符内容。

QLineEdit[echoMode="2"] { 
   
    lineedit-password-character: 35; /*35,这是一个ASCII码值,在ASCII码中对应字符为‘#’*/
}

自动补全

通过不断修改QCompleter的模型QStandardItemModel实现自动补全。

m_model = new QStandardItemModel(0, 1, this);
m_completer = new QCompleter(m_model, this);
ui.lineEdit->setCompleter(m_completer);
 
//将信号activated()连接到槽onEmailChoosed()。当用户用鼠标选择了某一项之后就把选中的项更新到文本框中,补全完成。
connect(m_completer, SIGNAL(activated(const QString&)), this, SLOT(onEmailChoosed(const QString&)));

//信号textChanged()连接到onTextChanged()用于更新Model中的数据。
connect(ui.lineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(onTextChanged(const QString&)));
void ThemeRoller::onEmailChoosed(const QString& email)
{ 
   
    ui.lineEdit->clear();    // 清除已存在的文本更新内容
    ui.lineEdit->setText(email);
}
 
void ThemeRoller::onTextChanged(const QString& str)
{ 
   
    if (str.contains("@"))   // 如果已经输入了@符号,我们就停止补全了。因为到了这一步,我们再补全意义也不大了。
    { 
   
        return;
    }
    QStringList strlist;
    strlist << "@163.com" << "@qq.com" << "@gmail.com" << "@hotmail.com" << "@126.com";
 
    m_model->removeRows(0, m_model->rowCount());   // 先清楚已经存在的数据,不然的话每次文本变更都会插入数据,最后出现重复数据
    for (int i = 0; i < strlist.size(); ++i)
    { 
   
        m_model->insertRow(0);
        m_model->setData(m_model->index(0, 0), str + strlist.at(i));
    }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185501.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 8000401a错误解决方案(Word应用程序无法访问)

    8000401a错误解决方案(Word应用程序无法访问)前一阵子做开发需要用到Excel和Word编程,本人用的是Vista系统,开发环境是VS2005和Office2007,测试无任何问题,可是到部署的时候出现了一些令人很头痛的问题,老是会出现例如:检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误:8000401a。的错误,在网上查询了许多资

    2022年7月25日
    17
  • HTML的表单元�

    HTML的表单元�

    2021年12月7日
    42
  • s3c2440时钟频率「建议收藏」

    s3c2440时钟频率「建议收藏」分类:LINUX++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载!转载请注明出处:http://blog.csdn.net/mr_raptor/article/details/6555734++++++++++++++++++++++++++++++++++++++++++系统时钟MINI2440开发板

    2022年6月14日
    22
  • MAC怎么安装brew

    MAC怎么安装brew用brewinstallgit安装git,然后提示安装失败,百度后发现是需要先安装brew用官网给的命令,报错,太绝人了,百度了好多都无法成功,最后找到一个大佬的解决办法,贴出来**解决**苹果电脑常规安装脚本(推荐完全体几分钟安装完成):/bin/zsh-c”$(curl-fsSLhttps://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)”苹果电脑极速安装脚本(精简版几秒钟安装完成):/bin/zsh-

    2025年7月4日
    4
  • intel处理器历代产品_英特尔酷睿历代提升

    intel处理器历代产品_英特尔酷睿历代提升悉数历史英特尔历代经典CPU产品回顾从英特尔于1971年推出首款4004微处理器到现在,英特尔处理器已经走过了40个年头。在告别13年传奇品牌奔腾之后,我们又迎来新一代酷睿i双核处理器。现在,我们就来回顾一下英特尔处理器40年来的发展历程。1971年:4004微处理器4004是英特尔推出的第一款微处理器。这一突破性的发明最先应用于Busicom

    2025年11月19日
    4
  • 在 Word 中插入域代码并设置域代码的格式(转)「建议收藏」

    在 Word 中插入域代码并设置域代码的格式(转)「建议收藏」MicrosoftOfficeWord中的域用作文档中可能会改变的数据的占位符,并用于在邮件合并文档中创建套用信函和标签。这些种类的域也称为域代码,它们不同于那些用于输入信息的域类型,如在表单上。有关向文档中添加表单域的信息,请参阅创建打印表单、创建用户在Word中填写的表单或在Word中制作核对清单使用特定命令时(如插入页码时、插入封面等文档构建基块时或创建目录时),…

    2022年5月1日
    948

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号