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