QTextEdit foreach

时间:2015-11-25 04:10:55

标签: c++ qt qtextedit

我在Qt中创建了一个简单的代码文本编辑器,它可以获取C ++关键字并为它们着色。我知道Qt有一个foreach函数,但是如何将它与用户输入的QTextEdit一起使用呢?

这是我尝试过的,如果我在Hi中输入单词textEdit,那么它会在调试中弹出。这没用。

QLinkedList<QTextEdit* > list;
QString str = "Hi";
foreach(str, list)
    qDebug() << str;

我想我在某个论坛的某个地方看到了这个想法,但它再次没有用。如果您能提供帮助,任何建议都有帮助!谢谢!

编辑:

这就是我现在所拥有的:

QString text = ui->textEdit->toPlainText();
QString str = "Hi";
foreach(str, text)
    qDebug() << str;

除了qDebug()每次打印字符时输出Hi,而不是打印所有Hi

2 个答案:

答案 0 :(得分:0)

我不知道为什么你有一个QTextEdit的列表但是要编译你的代码,你必须这样做。

QLinkedList<QTextEdit*> list;
QTextEdit* textEdit = NULL;
foreach(textEdit, list)
    qDebug() << textEdit->toPlainText();

您的代码存在的问题是您尝试将QTextEdti*分配给QString

回答评论中提出的问题:

textChanged()的{​​{1}}信号连接到广告位。

textEdit

在插槽中,将textEdit中的文本与空格字符分开并迭代。

connect(textEdit, SIGNAL(textChanged()), SLOT(onTextChanged()))

答案 1 :(得分:0)

OMG你这样做完全错了,并且要求解决方案对你的问题没有帮助,实际上它会让情况变得更糟。

所有你需要的东西都记录在Qt。中 请检查此Qt example