标签: qtextedit

通过QTextStream流式传输到QTextEdit

我经常想使用QTextEdit作为显示正在写入流的内容的快速方法.也就是说,我不想写QTextStream(stdout),而是想做类似的事情:

 QTextEdit qte; 
 QTextStream out(qte);  
Run Code Online (Sandbox Code Playgroud)

如果我在写入附加到QString的QTextStream后发出信号,我可以做类似的事情.
问题是我希望界面与我流式传输时的界面相同stdout:

out << some data << endl;
Run Code Online (Sandbox Code Playgroud)

关于如何实现这一目标的任何想法?

提前致谢.

c++ qt qt4 qtextedit

4
推荐指数
1
解决办法
5292
查看次数

qt:拦截QTextEdit中的制表符

我正在写一个小编辑.我想更改QTextEdit的默认行为,它会在Tab命中时插入标签.相反,我想放4个空格.这样做的推荐方法是什么?我虽然关于子类化keyPressedEvent,但也许有更好的方法?

qt qtextedit

4
推荐指数
1
解决办法
1467
查看次数

覆盖QTextEdit子类中的keyPressEvent

我在Qt中有以下示例,其中我尝试覆盖QTextEdit的子类的keyPressEvent,但是给了我"txt :: keyPressEvent(QKeyEvent*)的多重定义",我无法弄清楚原因:

//txt.h
#ifndef TXT_H
#define TXT_H

#include <QTextEdit>

class txt : public QTextEdit
{
    Q_OBJECT
public:
    txt(QWidget *parent = 0);

signals:
    void keyPressEvent(QKeyEvent *e);

public slots:

};

#endif // TXT_H


//txt.cpp
#include "txt.h"

txt::txt(QWidget *parent) :
    QTextEdit(parent)
{
}

void txt::keyPressEvent(QKeyEvent *e){
    //do stuff with the key event
}


//main.cpp
#include <QtGui/QApplication>
#include "txt.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    txt w;
    w.show();

    return a.exec();
}
Run Code Online (Sandbox Code Playgroud)

我试着在txt.h中声明QTextEdit并且只在cpp中#include它,但这给了我一些其他错误(可能是因为我需要头文件中的类,因为我正在对它进行子类化?)

无论如何,我做错了什么?

编辑:我也尝试了另一个类(QLabel),现在我得到了同样的错误......

c++ qt qtextedit qkeyevent

4
推荐指数
1
解决办法
2504
查看次数

QTextEdit中的QLineEdit :: textEdited()等效?

QLineEdit,有一个textEdit()信号,只有在用户更改文本时才会发出,但在您通话时则不会发出setText(),

那相当于QTextEdit什么呢?我只看到一个textChanged()信号,文档说明它会在文本文档发生变化时发出.

编辑

我想实现自动保存功能,当然还有QTimer,

因此,当您开始编辑文档时,计时器会启动,当超时时,我会将文本保存在窗口小部件中.

qt qt4 qlineedit qtextedit qt5

4
推荐指数
1
解决办法
2132
查看次数

QTextedit 设置锚点并滚动到它

如何在 中设置锚点QTextEdit

似乎有一种滚动到锚点的方法,但没有任何方法可以设置实际锚点。

所以我尝试了这个,但它不起作用。

mTextEdit->setHtml("some html stuff");
mTextEdit->append("<a href=\"#word\">word</a>");
mTextEdit->scrollToAnchor("word");
Run Code Online (Sandbox Code Playgroud)

有什么建议?

c++ anchor qt qtextedit

4
推荐指数
1
解决办法
2006
查看次数

仅从QTextEdit小部件获取可见文本

我一直在寻找一天,但没有找到答案.此主题如何从QTextEdit或QPlainTextEdit小部件获取当前可见的文本?仅回答如何获取小部件中包含的所有文本.

在我的情况下,我有一个带有大量文本的QTextWidget.远远超过任何时候都可以展示的.我想回应可见文本的变化,然后采取一些行动.

当用户滚动文本区域或将新文本添加到窗口小部件时,我想对可见文本执行一些操作.我可以轻松连接到QTextEdit :: verticalScrollBar()的信号但是如何查找可见文本是什么?

到目前为止我有这个,但在阅读了文档的页面和页面后,似乎QTextEdit没有任何方法让你知道它的可见区域中的文本是什么.

 void MyProject::on_textEdit_scrollBar_valueChanged(int value)
 {
    QStringList visibleText = // how do I do this?
 }
Run Code Online (Sandbox Code Playgroud)

c++ qt qtextedit

4
推荐指数
1
解决办法
1087
查看次数

将QTextEdit的内容保存为*.pdf?

我试图将文本编辑器的内容保存为pdf文件.文本编辑器是使用PyQt制作的(我没有制作文本编辑器),我从这里获得了文本编辑器的代码.我对编辑器做了一些更改,但这不会成为问题.

经过一些初步的研究后,我发现我需要使用ReportLab来发布一个pdf文件.但我找不到办法做到这一点.

有谁知道如何实现这一目标?

python reportlab pyqt qtextedit python-2.7

4
推荐指数
1
解决办法
1488
查看次数

Qt清除QTextEdit/QPlainTextEdit中的撤消历史记录?

我有一个QPlainTextEdit,我在打开大文件时为它构建了一个进度对话框.我想通过使用QTextCursor.insertText一次添加一行文本,而不是使用setText.问题是,当我这样做时,我可以撤消添加的每一行......有没有办法清除撤消历史记录?

qt undo qtextedit qplaintextedit

4
推荐指数
1
解决办法
987
查看次数

如何更改PyQt4中QTextEdit内部所有内容的fontsize?

我有一个QTextEdit通过使用它的内容被编程的内容QTextEdit.textCursor.

我的计划是让用户检查填充的信息QTextEdit并在必要时进行编辑,然后再使用打印成PDF文件QPrinter.

但是,我想在用户进行编辑之前更改整个内容的字体大小.我不会使用多种字体大小,所以我只需要为内容设置一个字体大小.

我尝试QTextEdit过在QTextEdit.setFontSize(16)操作前后使用,但似乎没有任何效果.

如何更改内容的字体大小textCursor

pyqt pyqt4 qtextedit python-2.7 qtextcursor

4
推荐指数
2
解决办法
1万
查看次数

无需在撤消堆栈中添加撤消命令即可对QTextEdit进行更改

我正在寻找一种方式来改变QTextCharFormat一个的QTextEditQTextBlock不触发除了撤销命令。让我解释:

所述QTextCharFormatQTextBlock可以通过使用容易地改变QTextCursor::setBlockCharFormat()方法。假设我们有一个QTextEdit被调用的对象,myTextEdit它的可见光标在我们要更改的文本块内,我们可以QTextCharFormat像这样更改文本块:

text_cursor = myTextEdit.textCursor()
text_cursor.setBlockCharFormat(someNewCharFormat)
Run Code Online (Sandbox Code Playgroud)

上面的代码可以正常工作,但是还会向myTextEdit撤消堆栈中添加撤消命令。对于我自己而言,我希望能够改变QTextCharFormatQTextBlock 不添加撤销命令到QTextEdit的撤消堆栈。

我考虑使用该QTextDocument::setUndoRedoEnabled()方法暂时禁用撤消/重做系统,但是该方法也清除了撤消堆栈,我不想这样做。我还寻找了其他方法来更改撤消/重做系统的行为,但是我还没有找到一种方法来使其暂时忽略更改。我只是想在QTextEdit没有撤消/重做系统注册更改的情况下对a 进行更改。

任何提示或建议,不胜感激。谢谢!

qt pyside qtextedit

4
推荐指数
1
解决办法
1267
查看次数