如何在QLineEdit的密码模式下增大项目符号点?

时间:2018-09-25 14:02:36

标签: c++ qt qt5 qlineedit

我有一个QLineEdit,我将echoMode设置为QLineEdit::Password,如下所示:

myLineEdit->setEchoMode(QLineEdit::Password);

显示了项目符号,但对于我的应用而言,它们太小了

enter image description here

我需要像这样使它们变大:

enter image description here

我试图使用这样的样式表来增加字体大小:

myLineEdit->setStyleSheet("QLineEdit { font-size: 20px; }");

这确实使子弹变大,但文本也变大。

如何增加项目符号的大小以保留文本的大小?

1 个答案:

答案 0 :(得分:3)

您可以设置一个Unicode字符,使其在lineedit-password-character中显示一个较大的圆圈:

#include <QApplication>
#include <QFormLayout>
#include <QLineEdit>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget w;
    auto lay = new QFormLayout(&w);
    QLineEdit *normal_le = new QLineEdit;
    normal_le->setEchoMode(QLineEdit::Password);
    normal_le->setText("Pass");
    lay->addRow("Normal: ", normal_le);
    for(int i: {9210, 9679, 9899, 11044}){
        QLineEdit *le = new QLineEdit;
        le->setEchoMode(QLineEdit::Password);
        le->setText("Pass");
        le->setStyleSheet(QString("QLineEdit[echoMode=\"2\"]{lineedit-password-character: %1}").arg(i));
        lay->addRow(QString::number(i), le);
    }
    w.show();

    return a.exec();
}

enter image description here