哪位高手知道怎么限定QPlainTextEdit可输入的字符数目
谁知道如何限定QPlainTextEdit可输入的字符数目?
RT1111111111111111
------解决方案--------------------
如果你一定要用这个类的话,可以写一个继承QPlainTextEdit的类,然后重新实现处理按键输入的事件处理函数,判断当前字符的个数是不是已经达到了你希望的最大值,如果是就直接返回,否则执行QPlainTextEdit本身的默认事件处理函数。
------解决方案--------------------
没有这个限制的属性,你自己可以根据控件中字符长度的变化触发,获取字符串长度,进行判断
------解决方案--------------------
使用QPlainTextEdit的textChanged()信号,在连接这个信号的槽里处理你的逻辑就可以了。
------解决方案--------------------
用textChanged()信号进行字符数字的监控,这个信号,在你每次输入都会发出,当统计到你想要的字符个数时,就可以给出提示达到一样的效果。
------解决方案--------------------
在textChanged()信号中控制输入的最大字符数
RT1111111111111111
------解决方案--------------------
如果你一定要用这个类的话,可以写一个继承QPlainTextEdit的类,然后重新实现处理按键输入的事件处理函数,判断当前字符的个数是不是已经达到了你希望的最大值,如果是就直接返回,否则执行QPlainTextEdit本身的默认事件处理函数。
------解决方案--------------------
没有这个限制的属性,你自己可以根据控件中字符长度的变化触发,获取字符串长度,进行判断
------解决方案--------------------
使用QPlainTextEdit的textChanged()信号,在连接这个信号的槽里处理你的逻辑就可以了。
------解决方案--------------------
用textChanged()信号进行字符数字的监控,这个信号,在你每次输入都会发出,当统计到你想要的字符个数时,就可以给出提示达到一样的效果。
------解决方案--------------------
在textChanged()信号中控制输入的最大字符数
void MainWindow::onVoiceTextChanged()
{
QString textContent = ui->voiceText->toPlainText();
int length = textContent.count();
int maxLength = BROADCAST_LENGTH; // 最大字符数
if(length > maxLength) {
int position = ui->voiceText->textCursor().position();
QTextCursor textCursor = ui->voiceText->textCursor();
textContent.remove(position-(length-maxLength), length-maxLength);
ui->voiceText->setText(textContent);
textCursor.setPosition(position-(length-maxLength));
ui->voiceText->setTextCursor(textCursor);
}
}