- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个绑定(bind)到数据库 VARCHAR(2048) 字段的多行 QTextEdit。
我想将用户输入长度限制为最多 2048 个字符
QTextEdit 没有像 QLineEdit 那样的 setMaxLength(int) 方法。
有人有什么建议吗?
self.editBox = QTextEdit()
谢谢
最佳答案
我找到了 this FAQ在 Qt Wiki 上:
There is no direct API to set/get a maximum length of a QTextEdit, but you can handle this yourself by connecting a slot to the contentsChanged() signal and then call toPlainText().length() to find out how big it is. If it is up to the limit then you can reimplement keyPressEvent() and keyReleaseEvent() to do nothing for normal characters.
您可能还对 this post 感兴趣其中附有一些代码(希望对您有用):
#include <QtCore>
#include <QtGui>
#include "TextEdit.hpp"
TextEdit::TextEdit() : QPlainTextEdit() {
connect(this, SIGNAL(textChanged()), this, SLOT(myTextChanged()));
}
TextEdit::TextEdit(int maxChar) : QPlainTextEdit() {
this->maxChar = maxChar;
connect(this, SIGNAL(textChanged()), this, SLOT(myTextChanged()));
}
int TextEdit::getMaxChar() {
return maxChar;
}
void TextEdit::setMaxChar(int maxChar) {
this->maxChar = maxChar;
}
void TextEdit::myTextChanged() {
if (QPlainTextEdit::toPlainText().length()>maxChar) {
QPlainTextEdit::setPlainText(QPlainTextEdit::toPlainText().left(QPlainTextEdit::toPlainText().length()-1));
QPlainTextEdit::moveCursor(QTextCursor::End);
QMessageBox::information(NULL, QString::fromUtf8("Warning"),
QString::fromUtf8("Warning: no more then ") + QString::number(maxChar) + QString::fromUtf8(" characters in this field"),
QString::fromUtf8("Ok"));
}
}
关于python - pyqt4 QTextEdit - 如何设置最大长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8479391/
我使用 QTextEdit 的子类显示一些富文本内容. 一些编辑器——尤其是代码编辑器和 IDE 提供了一种可能性,可以一直滚动到最后一行之外,直到最后一行到达 View 的顶部。 我希望能够使用 Q
我已经放弃了让它跑得更快的实际尝试。 我最大的问题是,当我插入 html 时,应用程序会变慢到爬行。我有一个进度条,我正在调用 QCoreApplication.processEvents() (顺便
好吧,我正在做一个IDE系统。基本上,一切正常。虽然,但我有一个问题。 “QTextEdit”类没有用于自动完成的成员“setCompleter”。对? 那么,是否有一些类支持它,包括所有 QText
当我创建一个默认的 QTextEdit 小部件时,它会出现在默认的 Windows 样式边框中。我不想要这个边框,所以我试着把它关掉。我该怎么做? 我使用的是相当旧版本的 Qt (3.2.3)。 最佳
我想用QTextEdit (在只读模式下)显示可点击的超链接,我曾经这样做 QTextEdit *textEdit = new QTextEdit; QTextCursor cursor(textEd
我有一个仅从 qtextedit 返回选定文本的函数。我需要获取纯文本,但此函数返回带有一些控制字符的文本。 例如:函数textEdit->textCursor().selectedText()返回:
为QTextEdit设置文本: te->setPlainText(“Something”) ; te->adjustSize(); 应该只环绕“Something”,而不是QTextEdit正在扩展到
QTextEdit t; t.setHtml(" ");显示带有锐音符的小“a”而不是不间断空格。这种情况仅发生在 Windows 上,而不是 Linux 或 FreeBSD 上。可能是什么
感谢code,它帮助我解决了很多显示文本的问题。但是有一个符号困扰着我: [2K 但看起来像这样:在此处输入图片描述 据我理解ANSI中的该符号的意思-删除该行并在其位置写入新信息。我该怎么办? 最佳
文本编辑器:Sublime Text 3 Python 版本:3.6 UTF-8 PyQt5 我正在 PyQt5 中制作一个记事本,并且我正在制作一个能够在行之间导航的选项,当然,我需要移动文本编辑器
所以我尝试使用 shell 输出(实时)更新 QTextEdit: txtDirb = QTextEdit() dirb_command = "dirb" + " " + url p = subpro
我正在尝试尾随文件并将其连续输出到QTextEdit框。但是,我的子进程和输出位于多进程中。这是我的代码: shouldRun = True wMain = QtGui.QWidget() textb
我想升级我的日志部分以适应日志记录模块。 我的应用程序已经相当先进,并且使用 PySide 进行 GUI。我想设置处理程序来生成不同的日志文件,但也想设置一个写入 QTextEdit 类似控制台的小部
我的程序应该: 从 QLineEdits 收集一些输入; 将其转换为QString; 将其添加到一些常量的QString中; 单击按钮时在 QTextEdit 中输出全部内容。 下面是程序的简化模型。
我有一个带有某种日志查看器的应用程序,它需要能够呈现实时插入其中的格式化日志记录。 我在 Qt 中写这篇文章,到目前为止,我使用 QTextEdit 来呈现文本,使用一些 html 标签对其进行了美化
所以问题是如何从另一个表单设置 textEdit 的值? 最佳答案 您有两个选择,或者您可以简单地从另一个表单中的函数调用其中一个 setText 函数,如下所示: otherForm->setPla
我的 QMainWindow 上有一个 QTextEdit。我已经覆盖了我的主窗口 keyPressEvent 方法并在其中放置了一些热键处理程序(即:Ctrl+J、Ctrl+K)。这些热键对应用程序
是否有任何用于创建文本完成器的 QT 类(如果我键入“hel”,它会自动用“lo”完成单词)?抱歉用词不好,我不知道如何更好地描述它。 最佳答案 有 QCompleter,但默认情况下仅适用于 QLi
我目前正在开发一个文本编辑器,我想创建一个缩写系统。我的意思是,例如,当您编写 html5 然后按 tab 键时,例如您展开这样的代码: ... 也许我使用了错误的关键字,
我正在考虑使用 QTextEdit作为类似控制台的 IO 元素(用于串行数据)。这种方法的问题是(用户)输入和(通信)输出是混合的,它们可能不同步。 要检测新的用户输入,可以存储和比较某些输入事件的
我是一名优秀的程序员,十分优秀!