如何解决Qt 4.8 | EchoMode-仅显示一个Charakter,而不是所有Charakter
我正在寻找一个好主意。
我想创建一个QLineEdit字段,当数字超过999999时,该字段仅显示一个字符(“ P”)。 我有一个为每个字符显示字母“ P”的字段。我可能会忘记一些信息,让我知道您的需求。 这个想法行得通,请参阅所附图片。但是,正如您在第二张图片中所看到的,我只需要一个“ P”。 为了进一步理解,该字段代表半径。是半径上的值大于999999,表面是平面= P。
#include "newWindow.h"
#include <QApplication>
#include <QMessageBox>
#include <Qlatin1Char>
#include <QIntValidator>
newPassword::newPassword(QWidget *parent) : QWidget(parent)
{
labelIn1 = new QLabel("Eingabe1");
labelIn2 = new QLabel("Eingabe2");
lineIn1 = new QLineEdit("Eingabe1");
lineIn2 = new QLineEdit;
qvalidator *validator = new QIntValidator(0,99999999999999,this);
lineIn2->setValidator(validator);
VBox = new QVBoxLayout;
VBox->addWidget(labelIn1);
VBox->addWidget(labelIn2);
VBox->addWidget(lineIn1);
VBox->addWidget(lineIn2);
connect(lineIn2,SIGNAL(returnpressed()),this,SLOT(updateText()));
setLayout(VBox);
setwindowTitle("Password QLineEdit");
}
void newPassword::updateText()
{
double var1;
var1 = lineIn2->text().todouble();
if (var1 > 999999)
{
lineIn2->setEchoMode(QLineEdit::Password);
lineIn2->setStyleSheet(QString("QLineEdit[echoMode=\"2\"]{lineedit-password-character:0080}"));
//lineIn2->setMaxLength(1); //
//lineIn2->setVisible(false); //
//lineIn2->setMask();
}
else
{
lineIn2->setEchoMode(QLineEdit::normal);
}
labelIn2->setText(lineIn2->text());
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。