1 2 | ui.lineEdit->setPlaceholderText(QStringLiteral("E-mail")); # 设定行编辑框的占位字符 ui.lineEdit->setFixedSize(155, 25); |
1 2 3 4 5 6 7 8 9 10 11 | QLineEdit { border: 1px solid rgb(41, 57, 85); # 边框1px宽,颜色为深紫色 border-radius: 3px; # 给定3px边框圆角 background: white; # 背景色定为白色吧 selection-background-color: green; # 这个属性设定文本选中时的文本背景色 font-size: 14px ; # 文本的大小 } QLineEdit:hover { border: 1px solid blue; # 鼠标悬停时,我们将编辑框的边框设置为蓝色 } |
1 2 3 | QLineEdit[echoMode="2"] { lineedit-password-character: 35; } |
1 2 3 4 5 6 7 | m_model = new QStandardItemModel(0, 1, this); m_completer = new QCompleter(m_model, this); ui.lineEdit->setCompleter(m_completer); connect(m_completer, SIGNAL(activated(const QString&)), this, SLOT(onEmailChoosed(const QString&))); connect(ui.lineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(onTextChanged(const QString&))); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | void ThemeRoller:nEmailChoosed(const QString& email) { ui.lineEdit->clear(); // 清除已存在的文本更新内容 ui.lineEdit->setText(email); } void ThemeRoller:nTextChanged(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)); } } |
作者:24K纯开源
Email: zhangzhongke007@163.com
出处:http://www.cnblogs.com/csuftzzk/
本文版权归24K纯开源和博客园共同拥有,欢迎转载,但未经作者同意必须保留此声明,且在文章明显位置给出原文链接,否则保留追究法律责任的权利。
欢迎光临 firemail (http://firemail.wang:8088/) | Powered by Discuz! X3 |