永发信息网

QT textedit如何限定输入字数

答案:2  悬赏:30  手机版
解决时间 2021-02-04 16:58
QT textedit如何限定输入字数
最佳答案
方法一:
mEditText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(Constants.MAX_TEXT_INPUT_LENGTH)});

方法二:
private TextWatcher mTextWatcher = new TextWatcher(){
Toast mToast = null;
public void beforeTextChanged(CharSequence s, int start,
int count,int after) {
}
public void onTextChanged(CharSequence s, int start,
int before,int count) {
}

public void afterTextChanged(Editable s) {
int nSelStart = 0;
int nSelEnd = 0;
boolean nOverMaxLength = false;

nSelStart = mEditText.getSelectionStart();
nSelEnd = mEditText.getSelectionEnd();

nOverMaxLength = (s.length() > Constants.MAX_TEXT_INPUT_LENGTH) ? true : false;
if(nOverMaxLength){
if(null == mToast){
mToast = Toast.makeText(mContext,
R.string.IDS_MSG_TEXT_OVER_MAXLENGTH,
Toast.LENGTH_SHORT);
}
mToast.show();

s.delete(nSelStart - 1, nSelEnd);
mEditText.setTextKeepState(s);//请读者注意这一行,保持光标原先的位置,而 mEditText.setText(s)会让光标跑到最前面,
//就算是再加mEditText.setSelection(nSelStart) 也不起作用
}
}
};
全部回答
连接document ()的contentschange信号: void qtextdocument::contentschange ( int position, int charsremoved, int charsadded ) [signal] this signal is emitted whenever the document's content changes; for example, when text is inserted or deleted, or when formatting is applied. information is provided about the position of the character in the document where the change occurred, the number of characters removed (charsremoved), and the number of characters added (charsadded). the signal is emitted before the document's layout manager is notified about the change. this hook allows you to implement syntax highlighting for the document. see also qabstracttextdocumentlayout::documentchanged() and contentschanged().
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
崩坏3rd生物八重樱技能升级大概需要多少技能
纹眉毛后可以喝鸡汤吗
window7安全中心服务关闭后的问题!
白山市献血委员会办公室在什么地方啊,我要过
锤子手机怎么样
旋风的意思是什么啊?知道的请说下!
单选:心理咨询师说您刚讲过……这似乎有些矛
谁的360云盘里面有av宝宝树
兰州电视台皋兰县记者站在什么地方啊,我要过
成语:今非昔比 翻译成英文怎么写?
北翱地产在哪
尿路感染最常见的致病菌为A.大肠埃希菌B.变形
胸膈的意思是什么啊?知道的请说下!
怎么练嗓子啊 我从小就不爱说话 声音还小 说
今天又是那里地震了
推荐资讯
权威烫染造型会所地址在哪,我要去那里办事
燎原乡九年制学校地址在哪,我要去那里办事
DNF刷悲鸣洞穴可以爆什么武器材料卡片?
北京马承英语(商丘虞城县)地址在哪,我要去那
身高一米八四。体重85公斤。就是比较壮的那种
通辽到北海坐火车,怎么走法?
抢劫致人死亡中的死亡包不包含故意?司考疑问
下列资产负债表项目中,可根据总账科目期末余
江津市中渡服装厂我想知道这个在什么地方
淘金怎么去啊,我要去那办事
(2009)石材幕墙中的单块石材板面面积不宜大
可可西里旅行社地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?