- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Qt 应用程序,我正在尝试找到一种方法来使用 QTextEdit 作为带有长文本而没有滚动条的标签
。在我的用户界面中,我有一个 QScrollArea,在其中我想放置几个 QTextEdit 小部件,并且我只想在 QScrollArea 内使用滚动。问题是,无论我如何尝试调整 QTextEdit
的大小,它似乎都有最大高度和文本剪切,即使我手动设置大小和 QTextEdit::size
返回正确的值。
我对QLabel
做了同样的事情,它工作得很好,但在这种情况下,我需要一些仅在QTextEdit
中提供的方法。
我找到了这篇文章: Resizing QT's QTextEdit to Match Text Height: maximumViewportSize()
给出的答案如下:
I have solved this issue. There were 2 things that I had to do to get it to work:
- Walk up the widget hierarchy and make sure all the size policies made sense to ensure that if any child widget wanted to be big/small, then the parent widget would want to be the same thing.
- This is the main source of the fix. It turns out that since the QTextEdit is inside a QFrame that is the main widget in a QScrollArea, the QScrollArea has a constraint that it will not resize the internal widget unless the "widgetResizable" property is true. The documentation for that is here: http://doc.qt.io/qt-4.8/qscrollarea.html#widgetResizable-prop. The documentation was not clear to me until I played around with this setting and got it to work. From the docs, it seems that this property only deals with times where the main scroll area wants to resize a widget (i.e. from parent to child). It actually means that if the main widget in the scroll area wants to ever resize (i.e. child to parent), then this setting has to be set to true. So, the moral of the story is that the QTextEdit code was correct in overriding sizeHint, but the QScrollArea was ignoring the value returned from the main frame's sizeHint.
问题是我不知道如何访问QTextEdit的
QScrollArea
以启用widgetResizing
。任何人都可以解释我如何实现此目的或建议调整 QTextEdit
大小以完美适应其内容的不同方法吗?
最佳答案
这将允许文本框的高度根据需要进行更改。您也可以稍微编辑代码来处理宽度。
connect( m_textField, SIGNAL( textChanged() ), this, SLOT( onTextChanged() ) );
void MyClass::onTextChanged()
{
QSize size = m_textField->document()->size().toSize();
m_textField->setFixedHeight( size.height() + 3 );
}
关于c++ - 如何调整 QTextEdit 以适合其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710329/
我使用 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 元素(用于串行数据)。这种方法的问题是(用户)输入和(通信)输出是混合的,它们可能不同步。 要检测新的用户输入,可以存储和比较某些输入事件的
我是一名优秀的程序员,十分优秀!