钩QLineEdit显示文本

时间:2018-12-29 21:15:58

标签: c++ qt

这是我的问题。 我在myLineEdit中键入一些文本,例如“ 123456789 987654321”,我想在LineEdit中隐藏一些子字符串,当显示被另一个符号“ x”隐藏时说“ 23”。那就是我想看到的“ 1x456789 987654321”,但是myLineEdit-> text()仍必须返回正确的字符串而不进行替换(“ 123456789 987654321”)。 那么什么能帮助我做到这一点?

1 个答案:

答案 0 :(得分:0)

希望这会有所帮助。代替调用setText(QString)和text(),而调用setLineText(QString)和getText()。

#include <qlineedit.h>
class LineEdit :public QLineEdit
{
    Q_OBJECT
        LineEdit();
       ~LineEdit();
       QString hide_txt="23";
     void setLineText(QString txt) {
         txt.replace(hide_txt, "x");
         setText(txt);}
     QString getText() {
         QString txt = text();
         txt.replace("x", hide_txt);
         return txt;
     }

};